log4j 不记录带有 unicode 字符的消息
log4j doesn't log message with unicode characters
我有一个 Log4j 记录器。
当我用这样的字符串调用它时:
logger.info("test case")
它工作正常并记录消息。
但是当我用 Unicode 字符调用它时:
logger.info("test case €")
它没有记录任何内容,看起来只是没有被调用。
所以这段代码将只打印一条日志消息 - "test case":
logger.info("test case")
logger.info("test case €")
我读到记录器在未明确设置的情况下使用系统字符集,它是 UTF-8。
我需要记录这个“€”符号并用它发送消息。
谢谢。
Log4j 默认不打印 UTF-16 字符,您必须应用显式编码。
你的 *.properties 中的 log4j.appender.logfile.encoding=UTF-16
之类的东西就可以了。
我有一个 Log4j 记录器。
当我用这样的字符串调用它时:
logger.info("test case")
它工作正常并记录消息。
但是当我用 Unicode 字符调用它时:
logger.info("test case €")
它没有记录任何内容,看起来只是没有被调用。
所以这段代码将只打印一条日志消息 - "test case":
logger.info("test case")
logger.info("test case €")
我读到记录器在未明确设置的情况下使用系统字符集,它是 UTF-8。
我需要记录这个“€”符号并用它发送消息。
谢谢。
Log4j 默认不打印 UTF-16 字符,您必须应用显式编码。
你的 *.properties 中的 log4j.appender.logfile.encoding=UTF-16
之类的东西就可以了。