使用 log4j2 在 log.txt 文件中忽略“\n”换行符

"\n" line break ignored in log.txt file using log4j2

我目前遇到 log4j2 在写入我的日志文件时忽略“\n”的问题。比如使用log4j2登录console,代码如下

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 在写入日志文件时不允许换行?

可以使用printf方法:

logger.printf(Level.INFO, "Hello %n world");