Tomcat 控制台日志乱码

发表于 2023-03-04

问题描述

再回顾学习 SpringMVC 时,需要安装 Tomcat,我发现我电脑上的 Tomcat 再启动时竟然是乱码。 Tomcat 日志乱码

原因

产生乱码的根本原因就是编码和解码不一致,我检查过 Tomcat 编码、项目编码都是使用的 UTF-8

解决乱码问题

修改日志输出的编码

进入 Tomcat 服务根目录,打开 conf\logging.properties 文件,可以看到相关配置。

################################ 默认的配置 ################################
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8
################################ 默认的配置 ################################

修改默认的 UTF-8GBK,就能正常输出了。

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK

个人总结

整体来说,就是文件或者是配置之间的编码不统一,导致输出的信息出现乱码。

其实我期望全局都是用 UTF-8 编码的,但是我还没找到是谁的编码设置成了 GBK,导致我需要设置日志输出的编码为 GBK

初步猜测是操作系统的编码是 GBK,所以导致 Tomcat 的日志输出时也需要时 GBK 才能正常显示。