[jboss-jira] [JBoss JIRA] (LOGTOOL-120) Locale is not used in the actual string format for loggers

James Perkins (JIRA) issues at jboss.org
Fri Nov 18 19:00:00 EST 2016


    [ https://issues.jboss.org/browse/LOGTOOL-120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13325245#comment-13325245 ] 

James Perkins commented on LOGTOOL-120:
---------------------------------------

Note this was cloned and this JIRA is for supporting passing the locale to loggers. Message bundles have already been implemented as part of LOGTOOL-116.

> Locale is not used in the actual string format for loggers
> ----------------------------------------------------------
>
>                 Key: LOGTOOL-120
>                 URL: https://issues.jboss.org/browse/LOGTOOL-120
>             Project: Log Tool
>          Issue Type: Bug
>    Affects Versions: 2.0.1.Final
>            Reporter: David Lloyd
>            Assignee: James Perkins
>            Priority: Minor
>             Fix For: 2.1.0.Alpha1
>
>
> The {{String.format()}} method accepts a Locale parameter.  We should be using the Locale of the implementation class.  Since the format method is called from a final method, we need a polymorphic way of getting the Locale instance; therefore, a protected method should be added to the generated base class like this:
> {code}
>     protected Locale getLoggingLocale() {
>         return Locale.ROOT;
>     }
> {code}
> Then each subclass should return a locale object specific to that class.  The locale object returned should either be one of the following:
> * Locale.CANADA - for "en_CA"
> * Locale.CANADA_FRENCH - for "fr_CA"
> * Locale.CHINESE - for "zh"
> * Locale.ENGLISH - for "en"
> * Locale.FRANCE - for "fr_FR"
> * Locale.FRENCH - for "fr"
> * Locale.GERMAN - for "de"
> * Locale.GERMANY - for "de_DE"
> * Locale.ITALIAN - for "it"
> * Locale.ITALY - for "it_IT"
> * Locale.JAPAN	 - for "ja_JP"
> * Locale.JAPANESE - for "ja"
> * Locale.KOREA - for "ko_KR"
> * Locale.KOREAN - for "ko"
> * Locale.SIMPLIFIED_CHINESE - for "zh_CN"
> * Locale.TRADITIONAL_CHINESE - for "zh_TW"
> * Locale.UK - for "en_GB"
> * Locale.US - for "en_US"
> If the locale is not one of the above, then the correct Locale should be created in a private constant field of the class like this:
> {code}
>     private static final Locale LOCALE = new Locale("hu");
>     // or...
>     private static final Locale LOCALE = new Locale("hu", "HU");
>     // or...
>     private static final Locale LOCALE = new Locale("hu", "HU", "technl");
>     // ...and then...
>     @Override
>     protected Locale getLoggingLocale() {
>         return LOCALE;
>     }
> {code}
> Finally, all calls to {{format()}} should be rewritten to use the locale *from the method* like this:
> {code}
>             final NamingException result = new NamingException(String.format(getLoggingLocale(), objectFromReference$str()));
> {code}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list