UTF-8无法工作即使在slf4j logback.xml中配置了charater set之后

时间:2018-05-10 14:21:22

标签: log4j logback slf4j log4j2

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <target>System.out</target>
    <encoder>
    <charset>UTF-8</charset>
        <pattern>%X{akkaTimestamp} %-5level %logger{35} - %msg%n</pattern>
    </encoder>
</appender>

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>log/akka.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <fileNamePattern>log/tests.%i.log.zip</fileNamePattern>
        <minIndex>1</minIndex>
        <maxIndex>250</maxIndex>
    </rollingPolicy>

    <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>20MB</maxFileSize>
    </triggeringPolicy>
    <encoder>
        <charset>UTF-8</charset>
        <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n
        </pattern>
    </encoder>
</appender>

<logger name="akka" level="INFO" />

<root level="INFO">
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="FILE" />
</root>

阿拉伯字符不在日志文件中。字符即将来临

*************** ***消息:{“text”:“???? ???? ???? ?? ????? ???????。”}} ******** ***************************

1 个答案:

答案 0 :(得分:0)

添加

后工作正常
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    <charset>UTF-8</charset>
    <outputPatternAsHeader>true</outputPatternAsHeader> 
    <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n </pattern>    
</encoder>

---完整档案

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <target>System.out</target>
    <encoder>
    <charset>UTF-8</charset>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{35} - %msg%n</pattern>
    </encoder>
</appender>

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>log/akka.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <fileNamePattern>log/tests.%i.log.zip</fileNamePattern>
        <minIndex>1</minIndex>
        <maxIndex>250</maxIndex>
    </rollingPolicy>

    <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>20MB</maxFileSize>
    </triggeringPolicy>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <charset>UTF-8</charset>
        <outputPatternAsHeader>true</outputPatternAsHeader>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{35} - %msg%n
        </pattern>
    </encoder>
</appender>

<logger name="akka" level="INFO" />

<root level="INFO">
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="FILE" />
</root>