在 log4j 2 中,当大小高于指定阈值时,我想修剪写入控制台附加程序的消息的结尾。
我查看了http://logging.apache.org/log4j/2.0/manual/layouts.html#PatternLayout文档,但看不到截断“msg”字段末尾的选项。
"%.1000msg" 将只留下消息的最后1000 个字符。
这对我不利,因为在 Java 中,堆栈跟踪中最内部的帧打印在消息的开头。
任何想法?
在 log4j 2 中,当大小高于指定阈值时,我想修剪写入控制台附加程序的消息的结尾。
我查看了http://logging.apache.org/log4j/2.0/manual/layouts.html#PatternLayout文档,但看不到截断“msg”字段末尾的选项。
"%.1000msg" 将只留下消息的最后1000 个字符。
这对我不利,因为在 Java 中,堆栈跟踪中最内部的帧打印在消息的开头。
任何想法?
我想你正在寻找:%.-1000m
这是控制台记录器的完整示例:
<Configuration status="WARN" monitorInterval="60" name="DEVELOPMENT">
<Properties>
<Property name="baseDir">logs</Property>
</Properties>
<Appenders>
<Console name="CONSOLE">
<PatternLayout pattern="%p{length=1} | %-10.-10t | %d{HH:mm:ss,SSS} | %.-1000m (%c{2}:%L) %n"/>
</Console>
</Appenders>
<Loggers>
<Root level="TRACE">
<AppenderRef ref="CONSOLE" level="DEBUG"/>
</Root>
</Loggers>
</Configuration>
有趣的。我不认为模式布局目前支持这一点。我建议在 Log4j2 问题跟踪器上提出功能请求:https ://issues.apache.org/jira/browse/LOG4J2