springboot通过jar包启动中文日志乱码问题及解决

2022-11-13 11:11:43 中文 启动 乱码

jar包启动中文日志乱码

问题场景

1.idea控制台中文正常

2.打成jar包,通过java -jar运行,通过log打印的日志出现中文乱码,System.out.print("")输出正常。

最终定位到logback.xml配置文件

修改前:

<include resource="org/springframework/boot/logging/logback/base.xml" />

修改后:

<include resource="org/springframework/boot/logging/logback/defaults.xml" />
 
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>${CONSOLE_LOG_PATTERN}</pattern>
    </encoder>
</appender>
 
<root level="INFO">
    <appender-ref ref="console" />
</root>

${CONSOLE_LOG_PATTERN}在defaults.xml中已定义,可以重写。 

springboot jar部署 控制台日志乱码

springboot项目打包jar文件 java -jar启动后,logger日志中文乱码

试了很多种办法,CHCP 65000切换cmd编码无效,更改项目编码utf-8一样,增加启动参数 -Dfile.encoding=UTF-8也没效果。

解决办法

将logback-spring.xml 中的所有<charset>UTF-8</charset>注释掉 即可解决 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章