关闭

解决Logback生成的日志文件不能显示中文的问题

标签: encodingslf4jtomcatlog4japplicationjava
16229人阅读 评论(2) 收藏 举报
分类:

      新的项目中使用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测试,日志文件正常。

0
1
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

logback 日志中文乱码

${ENCODER_PATTERN} UTF-8
  • zwhfyy
  • zwhfyy
  • 2017-04-19 18:56
  • 2671

解决线上服务logback 乱码问题

从网上查询资料 获得以下结果 1 设置 project 和file 文件为utf-8 编码 2 设置 logback 文件内容  appender name="CONSOLE" class="ch....
  • xiaoliuliu2050
  • xiaoliuliu2050
  • 2017-01-12 12:41
  • 2954

logback 中文显示乱码问题,设置utf-8格式

SLF4J+LOG4J,在日志中能正常显示中文字符,然后尝试切换使用SLF4J+LOGBACK,发现中文字符全是乱码。网上搜索了下,发现遇到相同问题的同学不少,解决方案如下:  1.设置Enco...
  • aqzwss
  • aqzwss
  • 2017-01-16 13:21
  • 1070

logback编码设置

直接上代码:        %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n true UTF-8 ...
  • gogcc
  • gogcc
  • 2016-03-10 11:19
  • 2500

使用spring boot+logback的一些编码问题整理

spring boot+logback乱码情况
  • wang124454731
  • wang124454731
  • 2017-07-05 15:15
  • 2564

解决Logback生成的日志文件不能显示中文的问题

Virgo Server 默认使用logback日志系统,系统中使用slf4j后,后台日志中中文都是乱码,解决的方法是在服务器启动文件 startup.bat 中加入这句:. set JAVA_...
  • zws1987211
  • zws1987211
  • 2012-05-07 18:00
  • 1202

使用logback实现日志记录

在开发中打印内容,使用 System.out.println() 和 Log4j 应当是人人皆知的方法了。  其实在开发中我们不建议使用 System.out 因为大量的使用 System.out ...
  • songhaifengshuaige
  • songhaifengshuaige
  • 2017-01-06 14:35
  • 3307

使用SLF4J打印日志---打印异常日志注意点

使用SLF4J打印日志,它有一个占位符(place holder){},一般不是异常的是这样打印的: logger.info("InvestmentFacadeImpl queryInvestment...
  • falynn1220
  • falynn1220
  • 2016-01-29 17:18
  • 4274

MyEclipse Maven工程 控制台打印logback日志中文乱码

MyEclipse Maven工程 控制台打印logback日志中文乱码
  • a363135825a
  • a363135825a
  • 2017-03-27 11:52
  • 364

lo4j与slf4j在tomcat中的使用

SLF4J - 一个通用的日志门面库,为各种Logging API提供了一套通用的日志接口,更多信息请参考官方网站。SLF4J会根据classpath中所存在的适配器的jar来决定将使用的日志实现库。...
  • teedry
  • teedry
  • 2010-07-16 20:44
  • 6630
    个人资料
    • 访问:1171868次
    • 积分:12628
    • 等级:
    • 排名:第1282名
    • 原创:176篇
    • 转载:6篇
    • 译文:34篇
    • 评论:398条
    博客专栏
    最新评论
    独乐乐不如众乐乐