关闭

Log4j乱码的问题

272人阅读 评论(0) 收藏 举报

今天做了如下的测试,在一个类A中使用Log4j记录日志,在另一个类B中也使用log4j记录日志,然后在log文件中可以查看到两个log是追加到文件中,不会出现覆盖的现象(这个与配置信息相关),结果页面出现了乱码的现象,是什么原因导致的呢?

Java文件的编码方式是utf-8,然后在文件中写入的方式是中文,在使用Note++工具打开,里面显示为乱码,如果将显示编码方式改为utf-8则显示正常,也就是说写在文件的编码是utf-8,但是打开文件显示编码是按照GBK的方式;

如果将java编码方式改为GBK,然后写入log文件中,使用Note++打开页面显示正常

 

解决方案:

1、  log文件删除

2、  保证第一次写log的方式和之后写入log的方式一致,页面的编码与第一次写入的编码一致

 

由于log4j配置文件中没有设置编码格式(encoding),所以log4j就使用系统默认编码。导致乱码。
解决方法是设置编码格式UTF-8,方法为:
log4j.appender.syslog.encoding=UTF-8
syslog为你的logger名称)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:325491次
    • 积分:8908
    • 等级:
    • 排名:第2229名
    • 原创:1096篇
    • 转载:14篇
    • 译文:0篇
    • 评论:5条
    最新评论