【发布时间】:2023-03-17 23:13:01
【问题描述】:
尝试使用以下模式布局打印编码的日志消息,以便 \n 不会在日志中作为新行打印。
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MM-dd-yyyy HH:mm:ss,SSS} %5p [%t] (%F:%L) - %enc{%m}%n"/>
</layout>
但它实际上在每条消息之前打印%enc{,并在消息末尾打印},而不是对它们进行编码。 \n 也没有被替换。
示例:对于此代码logger.info("my \n message"),以下是输出日志
08-01-2018 01:26:37,642 INFO [localhost-startStop-1] (ClassName1.java:53) - %enc{my
message}
应该是这样的,
08-01-2018 01:26:37,642 INFO [localhost-startStop-1] (ClassName1.java:53) - my message
关注此文档https://logging.apache.org/log4j/log4j-2.1/manual/layouts.html 但我不确定该模式有什么问题。
【问题讨论】: