wrapper log4j 中文乱码

使用Java Server Wrapper 将Java程序封装成系统后台服务,使用log4j输出程序日志,但在程序封装好运行时日志输出出现中文乱码情况,解决方案如下;

1. 日志输出到文件

log4j.properties文件中配置添加编码设置,如下标红位置

log4j.appender.A=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A.Threshold=INFO
log4j.appender.A.File=../logs/streamserverlog/stream_
log4j.appender.A.ImmediateFlush=true
log4j.appender.A.Encoding=UTF-8
log4j.appender.A.DatePattern=yyyy-MM-dd'.log'
log4j.appender.A.layout=org.apache.log4j.PatternLayout  
log4j.appender.A.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} %5p \: %m%n


2. log4j.properties文件中配置的控制台输出将会输出到wrapper.log文件中

若出现中文乱码则将控制台输出的编码设置成UTF-8

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} %5p \: %m%n
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Encoding=UTF-8
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

猜你喜欢

转载自blog.csdn.net/my_tiantian/article/details/77774571