在log4j 2中,当大小超过指定的阈值时,我想修剪写入控制台appender的消息的结束。
我查看了http://logging.apache.org/log4j/2.0/manual/layouts.html#PatternLayout文档,但看不到截断“msg”字段结尾的选项。
“%。1000msg”只会留下消息的最后 1000个字符。
这对我不利,因为在Java中,堆栈跟踪中的大多数内部帧都打印在消息的开头。
有什么想法吗?
答案 0 :(得分:6)
我认为您正在寻找:%.- 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>
答案 1 :(得分:2)
有趣。我不认为模式布局目前支持这一点。我建议在Log4j2问题跟踪器上提出功能请求:https://issues.apache.org/jira/browse/LOG4J2