在默认语言非中文(或者说默认语言不支持中文的)的Windows、Linux、Unix上,用Log4j打印日志,出现乱码,常见的就是一堆问号。
解决方法
如果是log4j.properties为配置文件,比如
1
2
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=all.log
加入一行
1
2
3
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.Encoding=UTF-8
log4j.appender.A1.File=all.log
如果是log4j.xml为配置文件,比如
1
2
3
4
<appender name="A1" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="all.log" />
......
</appender>
加入一行
1
2
3
4
5
<appender name="A1" class="org.apache.log4j.RollingFileAppender">
<param name="Encoding" value="UTF-8" />
<param name="File" value="all.log" />
......
</appender>