解决Logback生成的日志文件不能显示中文的问题
2012-05-07 18:00
666 查看
Virgo Server 默认使用logback日志系统,系统中使用slf4j后,后台日志中中文都是乱码,解决的方法是在服务器启动文件 startup.bat 中加入这句:.
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
参考:
解决Logback生成的日志文件不能显示中文的问题
新的项目中使用logback+slf4j替换了原来的log4j+slf4j,并且是作为一个Web Application在tomcat中运行,发现生成的日志文件中所有中文都是乱码。
首先想到的解决方法就是logback中设置生成的日志文件的编码。在网上找到了两种设置,但是都不起作用:
1. 设置Encoding。在appender中增加一行<Encoding>UTF-8</Encoding>,但是在启动中报错,说是不能识别Encoding元素。有人说Encoding在0.9.22以后版本中已经不能用了。于是就找到了第二种方法。
2. 在Encoder中设置charset。logback实现了集中不同的Encoder,其中LayoutWrappingEncoder中有一个charset属性,并且有人提到可以通过charset设置日志文件编码。于是就将encoder属性修改为:
可是在启动时又提示找不到pattern。
因此两个方法都以失败而告终。可能是我没有找到正确的设置方法,如果有成功设置的朋友请分享。
最后,想到logback默认应该使用程序运行时的编码,也就是tomcat启动时的编码,那么就可以通过设置tomcat启动时的JVM参数来更改编码:
打开catalina.bat,在代码的第一行即set CATALINA_OPTS之前,增加一行:
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
重新启动tomcat测试,日志文件正常。
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
参考:
解决Logback生成的日志文件不能显示中文的问题
新的项目中使用logback+slf4j替换了原来的log4j+slf4j,并且是作为一个Web Application在tomcat中运行,发现生成的日志文件中所有中文都是乱码。
首先想到的解决方法就是logback中设置生成的日志文件的编码。在网上找到了两种设置,但是都不起作用:
1. 设置Encoding。在appender中增加一行<Encoding>UTF-8</Encoding>,但是在启动中报错,说是不能识别Encoding元素。有人说Encoding在0.9.22以后版本中已经不能用了。于是就找到了第二种方法。
2. 在Encoder中设置charset。logback实现了集中不同的Encoder,其中LayoutWrappingEncoder中有一个charset属性,并且有人提到可以通过charset设置日志文件编码。于是就将encoder属性修改为:
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} : %p [%c] [%t] %m%n</pattern> <charset>UTF-8</charset> </encoder>
可是在启动时又提示找不到pattern。
因此两个方法都以失败而告终。可能是我没有找到正确的设置方法,如果有成功设置的朋友请分享。
最后,想到logback默认应该使用程序运行时的编码,也就是tomcat启动时的编码,那么就可以通过设置tomcat启动时的JVM参数来更改编码:
打开catalina.bat,在代码的第一行即set CATALINA_OPTS之前,增加一行:
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
重新启动tomcat测试,日志文件正常。
相关文章推荐
- 解决Logback生成的日志文件不能显示中文的问题
- 解决JasperReport生成PDF文件,中文不能显示的问题
- iText7 生成 PDF 文件,解决各种操作系统中文问题,控制指定位置显示图片、文字、图文混排
- 解决FlashFXP5 不能下载中文文件名文件的问题(显示文件名中文正常下载文件名是乱码)
- 解决IntelliJ IDEA 安装后打开文件目录对话框不能显示中文的问题
- paip.解决中文url路径的问题图片文件不能显示
- 利用jasperreports报表生成pdf文档中文不能显示问题解决方法
- paip.解决中文url路径的问题图片文件不能显示
- 发布到SPS站点下的ASP.NET页面上的中文不能正常显示__问题解决方法
- 解决ebs在2003系统下不能显示中文的问题
- 解决CMake为VC准备生成文件时的Could not copy from不能复制问题
- 解决图片路径中含有中文在jsp下不能正常显示问题
- R文件不能生成问题解决办法
- 如何解决 Sublime Text 3 不能正确显示中文的问题
- Ubuntu10.04下语言安装以及txt文件显示中文乱码问题的解决
- 解决fgetcsv打开csv文件中文无法显示的问题。
- 解决 qtcreator编辑*.ui文件时右键菜单不能正常显示但的问题
- 解决Windows不能显示隐藏文件的问题
- android 典型问题:R.java文件不能自动生成的解决办法