問題描述:在新的環境中使用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的編碼格式,不管平臺的是如何。