以log4j2模式限制最大邮件大小

时间:2014-12-16 10:33:16

标签: java logging configuration log4j2 pattern-layout

在log4j 2中,当大小超过指定的阈值时,我想修剪写入控制台appender的消息的结束

我查看了http://logging.apache.org/log4j/2.0/manual/layouts.html#PatternLayout文档,但看不到截断“msg”字段结尾的选项。

“%。1000msg”只会留下消息的最后 1000个字符。

这对我不利,因为在Java中,堆栈跟踪中的大多数内部帧都打印在消息的开头。

有什么想法吗?

2 个答案:

答案 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