[slf4j-dev] slf4j i8ln

Pete Muir pmuir at redhat.com
Wed Aug 19 17:31:23 CEST 2009


Hi Ralph,

Whether or not resource bundles suck in our opinion, they are the  
standard approach to this so I believe we can't just dismiss them.

I'm also unsure how, in your approach, a framework would provide  
i8ln'ized log messages which would be used?

On 17 Aug 2009, at 22:41, Ralph Goers wrote:

> My 2 cents.
>
> ResourceBundles suck. Even in Java 1.6 it is difficult to change the  
> implementation and it only works if the application cooperates. The  
> default implementation finds the bundles in the classpath which  
> makes it difficult if you like to store the files outside of the  
> application. Also, since they are loaded on the classpath they  
> aren't automatically reloaded when modified.  My organization also  
> has "special" needs when it comes to internationalization - a single  
> application can support thousands of clients each of which may want  
> to override some of the keys in the bundles.
>
> In short, it seems to me to make far more sense to use a separate  
> I18n framework to deal with the actual message text and then just  
> make sure that SLF4J can accept the Locale as a parameter to be  
> passed to the Appender.
>
> Another option along the same lines would be to use the message  
> field as the message key, along with the parameters and pass those  
> to the Appender along with the locale. There again, an I18N  
> framework would deal with the messages.
>
> In short, SLF4J should support I18N but not implement it.
>
> FWIW - I have a need to implement an I18N framework based on Apache  
> Commons Configuration to support the needs I discussed in the first  
> paragraph. I'm considering doing it in the existing I18N project in  
> the Apache Commons Sandbox.
>
> Ralph
>
> On Aug 17, 2009, at 10:05 AM, Pete Muir wrote:
>
>> Hi,
>>
>> As discussed here https://jira.jboss.org/jira/browse/WBRI-290, we  
>> would like to switch to slf4j as our logger (it offers a logging  
>> facade, supports MDC/NDC and parameter replacement).
>>
>> However, as Takeshi highlights here https://jira.jboss.org/jira/browse/WBRI-214 
>> , a needed feature is explicit i8n support, and it sounds like Ceki  
>> would be happy to accept a contribution for this directly to the  
>> slf4j.
>>
>> Perhaps, to get started, we should discuss the overall design and  
>> aims. In the linked issue, Takeshi adds three features in the patch:
>>
>> - ability to localize a message by providing a resource bundle,  
>> which has the same name as the class using the logger (the  
>> declaring class)
>> - the ability to log an enum value (rather than using a static to  
>> hold the message/key)
>> - the ability to associate the level at which to log with the  
>> message with the enum (via an annotation) rather than in the call  
>> from the declaring class
>>
>> (Takeshi, correct me if this is incorrect). I think we can probably  
>> separate these features out when discussing.
>>
>> I think we would also need:
>>
>> - ability to specify the resource bundle to use when getting the  
>> logger
>> - ability to use statics fields or just a string id embedded in  
>> call to logger
>>
>> But I'm sure others have given this more thought than me!
>>
>> Pete
>> _______________________________________________
>> dev mailing list
>> dev at slf4j.org
>> http://www.slf4j.org/mailman/listinfo/dev
>
> _______________________________________________
> dev mailing list
> dev at slf4j.org
> http://www.slf4j.org/mailman/listinfo/dev




More information about the slf4j-dev mailing list