我有一个Log4j记录器。
当我用这样的字符串调用它时:
logger.info("test case")
它可以正常工作并记录消息。
但是当我用Unicode字符调用它时:
logger.info("test case €")
它什么也不记录,看起来好像没有被调用。
因此,此代码将仅打印一条日志消息-“测试用例”:
logger.info("test case")
logger.info("test case €")
我已经读到记录器使用的系统字符集(如果未明确设置)为UTF-8。
我需要记录此“€”标志和消息。
谢谢。
答案 0 :(得分:0)
Log4j默认情况下不打印UTF-16字符,您将必须应用显式编码。
* .properties中的log4j.appender.logfile.encoding=UTF-16
之类的东西就可以解决问题。