外置tomcat运行,导致console中tomcat输出的日志乱码问题

781 阅读1分钟

问题现象

原来比较久的spring项目,使用的还是外置的tomcat。war包项目本地启动的时候,控制台输出的tomcat启动日志是乱码,项目logback打出来的日志正常。

原因分析

  • idea控制台的编码: 跟着系统走的,系统的编码是GBK,那么对应的控制台使用的编码是GBK
  • 从官网下载下来的新版本的tomcat对输出编码做了默认值设置:
logging.properties文件

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8

idea控制台的编码和tomcat输出控制台的编码不一致导致的乱码

处理方式

将logging.properties做调整: java.util.logging.ConsoleHandler.encoding = GBK