log4j 控制台和文件输出乱码问题解决

一个小问题,却让我感觉到,现在真正动脑的人很少。。我来说说吧。

今天遇到一个小问题,log4j输出到文件乱码,控制台正常。显然是编码问题导致。Google一搜,几乎一水的说:

项目中log4j 在英文版linux下输出中文日志为乱码。由于log4j 配置文件中没有设置编码格式(encoding),所以log4j就使用系统默认编码。导致乱码。解决方法是设置编码格式UTF-8,方法为:

复制代码
log4j.appender.syslog.encoding=UTF-8

这显然是转的,因为全网几乎一样。先不说这是properties 配置的,还不是xml的。如果要xml的,配置如下:

复制代码
<appender name="A1" class="org.apache.log4j.RollingFileAppender">
        <param name="Encoding" value="UTF-8" />
        <param name="File" value="all.log" />
        ......
</appender>

但是,我是已经设置成UTF-8,而乱码了。所以,上述答案是不严谨的。

全文详见个人独立博客:https://www.coderli.com/log4j-console-file-garbled/

log4j 控制台和文件输出乱码问题解决 | OneCoder 一个小问题,却让我感觉到,现在真正动脑的人很少。。我来说说吧。https://www.coderli.com/log4j-console-file-garbled/点击链接加入群聊【Java学习高端群982860385】:https://qm.qq.com/q/FIwoxMzIyc

相关推荐
努力努力再努力wz6 小时前
【Lua 进阶系列】从 C++ 对象到 Lua 变量:一文理解 userdata、Lua 栈与元表绑定机制
c++·junit·lua
captain3764 天前
▲统一功能——DispatcherServlet源码分析
java·spring·java-ee·log4j·maven
努力努力再努力wz4 天前
【Lua进阶系列】Lua 调试机制详解:从虚拟机调用栈、错误传播到 debug 库
junit·单元测试·lua
code2cat7 天前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
BuHuaX8 天前
Lua 与 ToLua:运行机制及热更新原理
开发语言·unity·junit·c#·lua
海棠Flower未眠8 天前
下单请求处理流程:商品维度分布式锁与 Redis 预扣库存
redis·分布式·junit
努力努力再努力wz8 天前
【Lua 入门系列】模块与包(一):从多文件组织到require 运行时加载机制、模块缓存、预加载搜索与 Lua 文件搜索机制
开发语言·junit·lua
CarIise10 天前
Spring 框架:多配置文件、开发方式与 IOC 注解
junit·maven·jar
努力努力再努力wz10 天前
【Lua入门系列】从 Table 到元表与元方法:一文理解 Lua 的行为扩展机制
开发语言·junit·lua