【问题标题】:Limit max message size in log4j2 pattern限制 log4j2 模式中的最大消息大小
【发布时间】:2023-03-30 17:52:01
【问题描述】:

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

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

"%.1000msg" 将只留下消息的最后 1000 个字符。

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

有什么想法吗?

【问题讨论】:

    标签: java logging configuration log4j2 pattern-layout


    【解决方案1】:

    我认为您正在寻找:%.-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>
    

    【讨论】:

    • 是的,它终于在我的功能请求之后添加了:-)
    【解决方案2】:

    有趣。我不认为模式布局目前支持这一点。我建议在 Log4j2 问题跟踪器上提出功能请求:https://issues.apache.org/jira/browse/LOG4J2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 2013-09-08
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      • 2010-09-27
      • 2014-06-13
      相关资源
      最近更新 更多