美文网首页
Springboot中使用logback输出日志中文乱码

Springboot中使用logback输出日志中文乱码

作者: 思_路 | 来源:发表于2018-08-18 11:38 被阅读0次

在Springboot中使用logback输出日志时,中文变成了乱码,第一反应是编码问题.
解决方法:

设置charset, 在encoder 中增加一行 <charset>UTF-8</charset>,重新启动系统,日志中中文显示正常了。

下面是我的一个简要的logback.xml 配置,以备不时之需。

<?xml version="1.0" encoding="UTF-8"?>  
<configuration>  
    <!-- 控制台 appender -->  
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
        <encoder>  
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>  
            <charset>UTF-8</charset>
        </encoder>  
    </appender>  
    <!-- 出错日志 appender  -->  
    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <!-- 按天回滚 daily -->  
            <!-- log.dir 在maven profile里配置 -->  
            <fileNamePattern>./log/error/daotong-error-%d{yyyy-MM-dd}.log</fileNamePattern>  
            <!-- 日志最大的历史 60天 -->  
            <maxHistory>60</maxHistory>  
        </rollingPolicy>  
        <encoder>  
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>  
            <charset>UTF-8</charset>
        </encoder>  
        <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印错误日志 -->  
            <level>ERROR</level>  
            <onMatch>ACCEPT</onMatch>  
            <onMismatch>DENY</onMismatch>  
        </filter>  
    </appender>  
    <!-- 访问日志 appender  -->  
    <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <!-- 按天回滚 daily -->  
            <fileNamePattern>./log/warn/daotong-warn-%d{yyyy-MM-dd}.log</fileNamePattern>  
            <!-- 日志最大的历史 60天 -->  
            <maxHistory>60</maxHistory>  
        </rollingPolicy>  
        <encoder>  
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>  
            <charset>UTF-8</charset>
        </encoder>  
        <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印WARN日志 -->  
            <level>WARN</level>  
            <onMatch>ACCEPT</onMatch>  
            <onMismatch>DENY</onMismatch>  
        </filter>  
    </appender>  
    <!-- info日志 appender  -->  
    <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <!-- 按天回滚 daily -->  
            <fileNamePattern>./log/info/daotong-info-%d{yyyy-MM-dd}.log</fileNamePattern>  
            <!-- 日志最大的历史 60天 -->  
            <maxHistory>60</maxHistory>  
        </rollingPolicy>  
        <encoder>  
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>  
            <charset>UTF-8</charset>
        </encoder>  
        <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印错误日志 -->  
            <level>INFO</level>  
            <onMatch>ACCEPT</onMatch>  
            <onMismatch>DENY</onMismatch>  
        </filter>  
    </appender>  
    <!--日志打印的包的范围,及分类日志文件存储 -->  
    <logger name="com.daotonginfo.manage" additivity="false">
        <level value="INFO" />  
        <appender-ref ref="STDOUT"/>  
        <appender-ref ref="ERROR"/>  
        <appender-ref ref="WARN"/>  
        <appender-ref ref="INFO" />  
    </logger>  
    <!--控制台打印资源加载信息-->  
    <root level="info">  
        <appender-ref ref="STDOUT" />  
    </root>  
</configuration>

相关文章

网友评论

      本文标题:Springboot中使用logback输出日志中文乱码

      本文链接:https://www.haomeiwen.com/subject/ulxfiftx.html