我想本地化的Java应用程序中的消息。我正在使用基于Locale的ResourceBundle加载。本地化在log4j
我希望将控制台上的消息本地化,并且日志文件中的消息为英文。
我在做什么是这样的:
if (bundle != null) {
MessageFormat formatter = new MessageFormat(bundle.getString(message));
Object [] messageArgument = new Object[] {"arg1"};
logger.info(formatter.format(messageArgument));
}
我已经设置了ConsoleHandler阈值信息。 问题是,现在即使信息日志文件将包含本地化消息以及控制台。
有没有办法将英文消息记录到控制台的日志文件和本地化消息?
但我需要设置信息阈值是ConsoleAppender。 因此,当我做logger.info()或logger.error()时,它会进入日志文件并出现在控制台上。 如果我加载英文包,控制台消息将不会本地化。 – cmn 2012-08-10 07:04:55
@Chandramouli:你需要使用两个Bundles。一个初始化为英语另一个为您需要的任何语言 – 2012-08-10 07:06:30
@a_horse_with_no_name 如果我理解正确,您建议我必须这样登录: log.info(englishMessage); log.info(localMessage); 即使这样也解决不了问题吧? – cmn 2012-08-10 07:18:07