2015-07-14 3 views
0

У меня возникла проблема с log4j2, игнорирующим «\ n» при записи в файл журнала. Например, с помощью log4j2 войти в консоль с помощью следующего кода« n» прерывание строки игнорируется в файле log.txt с использованием log4j2

log.info("Hello \nWorld"); 

будет выводить на консоль:

Hello 
World 

Внутри моего файла журнала log.txt, тот же код производит:

Hello World 

в конечном счете игнорирует «\ n».

Мой log4j2.xml файл:

<?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> 
    <File name="MonthlyCBK" fileName="${sys:MonthlyCBK}" append="true"> 
     <PatternLayout pattern="%d{MM-dd-yy HH:mm:ss} %-5level %logger{36} - 
%msg%n"/> 
    </File> 
</Appenders> 
<Loggers> 
    <Root level="debug"> 
     <AppenderRef ref="Console" level="info" /> 
     <AppenderRef ref="MonthlyCBK" level="debug"/> 
    </Root> 
</Loggers> 
</Configuration> 

Я пропускаю возможный вариант внутри моей log4j2, что позволяет разрывы строк в моем файле? Или log4j2 не позволяет создавать новые строки при записи в файлы журнала?

ответ

1

Вы можете использовать метод PRINTF:

logger.printf (Level.INFO, "Hello% н мир");

+0

Я не вижу, что этот вызов API существует для log4j2. – antihero989

+0

Моя ошибка. Это 'logger.printf (Level.INFO,« Hello% n world »);', а не 'format', извините. –

+0

Это сработало, спасибо! Если вы не возражаете редактировать свой пост, чтобы отразить правильный формат, я был бы очень признателен. – antihero989

Смежные вопросы