问题如下:
解决方案:
- 进入tomcat安装目录下的conf目录下的
logging.properties
文件
比如我的路径E:\apache-tomcat-9.0.30\conf\logging.properties
- 修改这个句柄,将原来的UTF-8改成
GBK
即可
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK
- 如果要修改server控制台的乱码,就修改下面这个句柄,将
UTF-8
改成GBK
即可
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK
原理剖析:
tomcat中设置了多种日志显示,根据logging.properties
文件我们知道有如下四种:
1catalina.org.apache.juli.AsyncFileHandler.encoding
2localhost.org.apache.juli.AsyncFileHandler.encoding
3manager.org.apache.juli.AsyncFileHandler.encoding
4host-manager.org.apache.juli.AsyncFileHandler.encoding
java.util.logging.ConsoleHandler.encoding
我们进入IDEA中关于tomcat的配置会发现的确存在5种日志配置
所以具体想要设置哪一种日志支持中文显示,我们就把tomcat配置文件中对应的句柄编码改成GBK即可。