log4j不记录具有Unicode字符的消息

时间:2019-03-27 18:54:03

标签: java spring log4j

我有一个Log4j记录器。
当我用这样的字符串调用它时:

logger.info("test case")

它可以正常工作并记录消息。

但是当我用Unicode字符调用它时:

logger.info("test case €")

它什么也不记录,看起来好像没有被调用。

因此,此代码将仅打印一条日志消息-“测试用例”:

 logger.info("test case")
 logger.info("test case €")

我已经读到记录器使用的系统字符集(如果未明确设置)为UTF-8。
我需要记录此“€”标志和消息。
谢谢。

1 个答案:

答案 0 :(得分:0)

Log4j默认情况下不打印UTF-16字符,您将必须应用显式编码。 * .properties中的log4j.appender.logfile.encoding=UTF-16之类的东西就可以解决问题。