Tomcat日志中文乱码怎么解决

Tomcat日志中文乱码怎么解决,第1张

在Tomcat中有时输出的日志中文乱码,包括控制台窗口和输出日志文件中都为乱码。

解决方案

JDK引用的设置

Java引用参数添加"-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"

将上面参数添加到Catalina.sh中JAVA_OPTS变量中,重启Tomcat,OK了。

1.设置Encoding。在appender中增加一行<Encoding>UTF-8</Encoding>,但是在启动中报错,说是不能识别Encoding元素。有人说Encoding在0.9.22以后版本中已经不能用了。看来此方案在我使用的logback 版本中并不能解决问题

2.设置charset, 在encoder 中增加一行 <charset>UTF-8</charset>,重新启动系统,日志中中文显示正常了。 下面是我的一个简要的logback.xml 配置。

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->

<property name="LOG_HOME" value="c:/log"/>

<!-- 控制台输出 -->

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

<encoder>

<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>

<charset>UTF-8</charset>

主要思路有两种:【1】本地客户端编码设置错了如果你用的是putty   一、Linux系统的设置 

1)关闭Linux的防火墙 

#iptables -F 

#iptables save 

2)编辑/etc/sysconfig/i18n,将LANG=en_US.UTF-8改为LANG=zh_CN.UTF-8 

SUPPORT=en_US.UTF-8….也作类似改动,接下来执行: 

#. /etc/sysconfig/i18n 

#locale (检查本地locale) 

如果看到显示了LANG=zh_CN.UTF-8等信息,表明改动成功。 【2】服务器不支持中文字符串显示【3】有可能是程序代码例如log4j文件设置错了

--------------------- 建议看看这本书《Linux就该这么学》

在Xshell、putty、SSH Secure Shell Client 等等客户端设置utf8的编码就可以了,在“文件”选项里点开“属性”一项进行设置,如下图:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12010713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存