`

Logback 中文显示问题

阅读更多
SLF4J+LOG4J,在日志中能正常显示中文字符,然后尝试切换使用SLF4J+LOGBACK,发现中文字符全是乱码。网上搜索了下,发现遇到相同问题的同学不少,解决方案如下:

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>
      </encoder>
    </appender>
    <!-- 按照每天生成日志文件 -->
    <appender name="Mina_App"  class="ch.qos.logback.core.rolling.RollingFileAppender">
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!--日志文件输出的文件名-->
        <FileNamePattern>${LOG_HOME}/mina.log.%d{yyyy-MM-dd}.log</FileNamePattern>
        <MaxHistory>30</MaxHistory>
      </rollingPolicy>
      <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>
      </encoder>
      <!--日志文件最大的大小-->
      <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
         <MaxFileSize>10MB</MaxFileSize>
      </triggeringPolicy>
    </appender>  
<logger name="Mina_Logger"  level="INFO">
<appender-ref ref="Mina_App"/>
</logger>
<!-- 日志输出级别 -->
<root level="DEBUG">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
分享到:
评论

相关推荐

    logback中文文档pdf

    **正文** Logback 是一款广泛使用的 Java 日志框架,由 Ceki Gülcü 创建,作为其先前作品 Log4j 的继任者。...通过阅读这份中文文档,你将能深入理解 logback 的工作原理和最佳实践,更好地利用它来解决实际问题。

    logback

    **压缩包子文件的文件名称列表:logback中文手册.pdf** 这个PDF文件很可能是logback的中文用户手册,对于初学者和进阶用户来说都是极其宝贵的资源。手册可能会涵盖以下内容: 1. **安装和配置**:介绍如何在项目中...

    EL中文显示乱码的解决办法

    在使用EL(Expression Language)表达式处理中文字符时,可能会遇到中文显示乱码的问题,这通常是由于字符编码不一致导致的。以下是一些详细的解决步骤和相关知识点: 1. **理解字符编码**: - 字符编码是用来表示...

    解决Tomcat在控制台console中显示乱码的问题

    然而,在实际操作中,我们可能会遇到各种问题,其中一种常见的情况就是Tomcat在控制台(Console)中显示乱码。这不仅影响了日志的可读性,也可能对问题排查造成困扰。本篇将详细讲解如何解决Tomcat控制台中文乱码的...

    syslog协议发送日志(java)

    以`logback`为例,我们需要配置`logback.xml`,添加一个syslog appender: ```xml &lt;appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender"&gt; &lt;syslogHost&gt;your_syslog_server_ip ...

    SLF4j中文使用手册

    如果在类路径中没有找到绑定的slf4j实现,则会显示一个警告,告知用户SLF4J未能加载相应的类。用户需要将slf4j-simple或者其他SLF4J绑定库添加到类路径中以消除这个警告。 SLF4J的设计目的之一是在部署时能够灵活...

    pinpoint 中文使用文档,供大家学习

    Pinpoint通过跟踪分布式应用间的调用,帮助开发者分析系统总体结构以及内部各模块间的联系,从而找出问题区域和潜在的性能瓶颈。Pinpoint致力于提供简单高效的使用体验,用户仅需安装agent插件,无需修改任何代码...

    改造OpenMeetings成为Flash视频会议室(四)

    在使用OpenMeetings时,不同摄像头的视频画面可能会被不同程度地裁切,导致显示异常。作者通过修改`/conference/remote/devvideoview.lzx`文件中的代码解决了这个问题。增加`_myWidth`和`_myHeight`两个属性,并在`...

    工作流乱码解决方案

    "工作流乱码解决方案"这个主题就针对Activiti5在处理中文或其他非ASCII字符时可能出现的显示异常进行探讨。 Activiti5是一个开源的工作流和业务流程管理平台,它基于Java,支持BPMN 2.0标准,为企业提供了一套强大...

    java 日志的数据脱敏的实现方法

    在这个例子中,`SensitiveInfoUtils`工具类包含了用于脱敏的具体方法,如`chineseName`用于处理中文姓名,只显示第一个汉字,其余用星号代替;`mobilePhone`方法处理电话号码,仅保留最后四位,其余替换为星号。 总...

    tomcat日志乱码处理方法总结

    这里显示系统语言环境为简体中文(GBK编码)。 2. **修改环境变量**:如果发现环境变量设置不正确,可以编辑`/etc/profile`文件,增加或修改如下行: ``` export LANG=zh_CN.gbk ``` 修改后,需要重新加载配置...

    Spring boot 中文.pdf

    - **自定义 Banner**:在应用程序启动时显示自定义的信息。 - **定制 SpringApplication**:如何扩展或自定义 SpringApplication 的行为。 - **流式构建 API**:SpringApplication 提供了一个易于使用的 API 来...

    springmvc hiberante

    开发者需要创建资源文件,比如messages.properties(英文)和messages_zh_CN.properties(中文),并配置MessageSource来加载这些文件,以便在应用中根据不同地区显示相应的消息。 3. 拦截器:Spring MVC的...

    spring-boot-中文参考指南

    ### Spring Boot 中文参考指南 #### 一、Spring Boot 简介 **1.1 Spring Boot 简介** - **Spring Boot** 是一种简化 Spring 应用程序开发的方式。 - 它通过自动配置、起步依赖等方式来简化开发过程。 - **特点**:...

    Java log viewer for gnome-开源

    在Java世界中,常见的日志框架有Log4j、Logback和java.util.logging等,这些框架生成的日志文件可以被Java日志查看器所解析和展示。 首先,让我们深入了解一下Java日志查看器的主要功能: 1. **日志文件浏览**:该...

    springboot参考指南中文word文档

    对于使用过程中遇到的问题,可以查阅官方文档、社区论坛或通过Stack Overflow等平台寻求帮助。 **1.3 第一步** 首先,了解Spring Boot的基本概念,如它的目标是简化Spring应用的搭建和开发过程,并提供了一系列自动...

    spring-boot-reference2018最新版

    Spring Boot的Actuator模块提供了多个端点,如`health`端点用于检查应用的健康状况,`metrics`端点显示应用的各种指标。 11. **数据访问** Spring Boot对各种数据访问技术如JDBC、JPA(Hibernate)、MyBatis等...

Global site tag (gtag.js) - Google Analytics