log4j不会使用unicode字符记录消息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j不会使用unicode字符记录消息相关的知识,希望对你有一定的参考价值。
我有一个Log4j记录器。 当我用这样的字符串调用它时:
logger.info("test case")
它工作正常并记录消息。
但是当我用Unicode字符调用它时:
logger.info("test case €")
它没有记录任何内容,看起来它只是没有被调用。
所以这段代码只打印一条日志消息 - “测试用例”:
logger.info("test case")
logger.info("test case €")
我已经读过logger使用系统字符集,如果它没有明确设置,它是UTF-8。 我需要用它记录这个“€”标志和消息。 谢谢。
答案
Log4j默认不打印UTF-16字符,您必须应用显式编码。像* .properties中的log4j.appender.logfile.encoding=UTF-16
之类的东西可以解决问题。
以上是关于log4j不会使用unicode字符记录消息的主要内容,如果未能解决你的问题,请参考以下文章
使用 JSON 格式的 log4j 记录 json 字符串消息,而不用引号破坏格式
whatsapp 是如何处理特殊字符、unicode 和 emoji 的
log4j SyslogAppender 不会将日志发送到 syslog