问题描述:在新的环境中使用log4j,中文输出总是问号(??),但在Eclipse中集成使用又是没有问题。
解决方法:在log4j的配置文件中指定编码,本例使用的是xml的配置
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="encoding" value="utf-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d %c{1}.%M(%L) | %m%n" />
</layout>
</appender>
小结:
使用Eclipse时,控制台是可以设置编码的,所以输出没有乱码,在linux环境下,就必须指定log4j的编码格式,不管平台的是如何。