Кодировка Java Log4j UTF-8 со специальными символами

Мой журнал не поддерживает специальные символы, такие как é или è. Я хотел бы написать свой журнал с кодировкой UTF-8. Я использую log4j, и мой файл конфигурации следующий:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
 <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - 
         %msg%n"/>
    </Console>
    <RollingRandomAccessFile name="fileAppender" 
    fileName="logs/moulinette.log"
    filePattern="logs/$${date:yyyy-MM}/moulinette-%d{MM-dd-yyyy}-%i.log.gz">

        <PatternLayout>
            <pattern>%-4r [%t] %-5level %logger{35} - %msg%n</pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy />
            <SizeBasedTriggeringPolicy size="5 MB"/>
        </Policies>
    </RollingRandomAccessFile>
</Appenders>
<Loggers>
    <Root level="info">
        <AppenderRef ref="fileAppender"/>
        <AppenderRef ref="Console"/>
    </Root>
</Loggers>
</Configuration>

person Audrey Deligand    schedule 14.06.2017    source источник
comment
Извините, но я не могу решить эту проблему с другими ссылками   -  person Audrey Deligand    schedule 14.06.2017


Ответы (1)


Используйте его следующим образом:

<PatternLayout charset="UTF-8">
     <pattern>%-4r [%t] %-5level %logger{35} - %msg%n</pattern>
</PatternLayout>

Добавьте charset=UTF-8 в PatternLayout. См. здесь.

person kinglao    schedule 15.12.2020