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

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

目录

jar包启动中文日志乱码

问题场景

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

springboot jar部署 控制台日志乱码

解决办法

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>注释掉 即可解决 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易知道(ezd.cc)。

推荐阅读