Yeah, that would be nice, but "displaying" would require implementing a dedicated viewer application, whereas now we can simply use any standard tool, like vi, tail -f, grep, etc.

Actually, we do have some machinery to implement logging in multiple languages at the same time. We end up with multiple logfiles, one in english for our support team, and one in the local language. However, that code is specific to log4j because only log4j allows passing in any Object as the "message" parameter. We log Localizable objects that carry resource bundle info, resource key and params, and use a special log4j Layout that handles such objets by calling getMsgForLocale().

interface Localizable {
 String getMsgForLocale(Locale locale);
}

The difference to the standard j.u.l approach is that localization is done by the Layout and occurs at the latest possible time, just before the message is written to the log file by the appender. This means that the appropriate locale can be chosen individually for each appender.

Unfortunately, I don't see how this approach could be generalized to support j.u.l as well :-(

/Lars

Dain Sundstrom wrote:

In these cases wouldn't you want to log the raw data (message id and parameters) and then localize when displaying? That way anyone could view the logs.

-dain

On Apr 9, 2006, at 1:33 PM, Lars Kühne wrote:

Hi Edell,

Nolan, Edell wrote:

[...] As regards getting the wrong language - this won't happen because this is actually based on the locale - The Logic ensures it picks the most specific one to the more generic one.
So in the case if you are in germany you will never get thai etc.


you got me wrong: We are in developing in germany, our customers are running our software in Thailand (or wherever). Hence we will get error messages that are not helpful at all for our engineers.

Note from the Class ResourceBundle API:

Resource bundles contain locale-specific objects. When your program needs a locale-specific resource, a String for example, your program can load it from the resource bundle that is appropriate for the current user's locale.


That is the point. For GUIs the current user's locale ist exactly what you want. For logfiles, it's exactly *not* what you want, unless your developer/support team speaks each customer's language. For us (and I assume most globally active software vendors?) this is not the case.

Regards,
Lars




Reply via email to