gpt4 book ai didi

java - log4j2 在 stdout 之间打印新行

转载 作者:行者123 更新时间:2023-11-30 08:42:25 25 4
gpt4 key购买 nike

为什么 log4j 在 stdout appender 中打印一个新的换行符?

我的 log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration xmlns="http://logging.apache.org/log4j/2.0/config">
<Appenders>
<File name="FILE" fileName="<<FILEPATH>>\logfile.log"
append="true">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} | %-5p | %l - %m%n" />
</File>
<File name="UIFILE" fileName="<<FILEPATH>>\uilogfile.log"
append="true">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} | %m%n" />
</File>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout>
<pattern>[%-5p] %C{2} - %m%n</pattern>
</PatternLayout>
</Console>
</Appenders>
<Loggers>
<Logger name="org.apache.log4j.xml" level="INFO"/>
<Logger name="com.foo" level="DEBUG" />
<Logger name="com.foo.services.web.controllers.FOOLoggingController"
level="INFO">
<AppenderRef ref="UIFILE" />
</Logger>
<Root>
<AppenderRef ref="STDOUT" />
<AppenderRef ref="FILE" />
</Root>
</Loggers>
</Configuration>

一切正常,但我在输出之间换了一行,不知道为什么!

enter image description here

我尝试了一些操作,比如从模式布局中删除 %n,但是当我这样做时,日志本身就停止了。文件输出很好。它不会在两者之间打印新行。有人遇到过类似的问题吗?

最佳答案

我通过在控制台的模式字符串中将 %n 替换为 \n 解决了这个问题。所以控制台附加器看起来像:

<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern ="[%-5p] %C{2} - %m \n" />
</Console>

关于java - log4j2 在 stdout 之间打印新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34566850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com