首页 > 代码库 > log4j设置日志格式为UTF-8

log4j设置日志格式为UTF-8

想要log4j输出的日志文件的编码格式为UTF-8.
正常情况下只需要添加下述的代码即可:

log4j.appender.appender_name.Encoding=UTF-8

但是在spring与log4j集成时此种方式就失效了,没有深入探讨其原因,感觉应该是spring做了某些操作将此配置屏蔽掉了(如果有人知道原因,请留言,谢谢)。
我采取的方式是不采用在web.xml中配置org.springframework.web.util.Log4jConfigListener的方式,在web启动时初始化log4j配置。
唯一的问题是通过web.xml配置的方式可以配置webAppRootKey,从而可以在log4j.properties中指定相对路径。
这个的解决方式是,在初始化log4j配置之前,手动设置:System.setProperty("myapp.root", webRootPath),然后在log4j.properties中${myapp.root}引用。

log4j设置日志格式为UTF-8