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

小小草
小小草 2023年4月21日 01:18 发表
摘要:这篇文章主要介绍了springboot通过jar包启动中文日志乱码问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

jar包启动中文日志乱码

问题场景

1.idea控制台中文正常

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

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

修改前:

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

修改后:

1
2
3
4
5
6
7
8
9
10
11
<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>注释掉 即可解决 

以上为个人经验,希望能给大家一个参考

点赞 0 收藏(0)    分享
相关标签: springboot
问题没解决?让chatGPT帮你作答 智能助手
0 个评论
  • 消灭零评论