获取特定log4j函数的类,方法,行号信息的方法

时间:2018-07-16 15:08:16

标签: java logging log4j log4j2

是否有一种方法只能获取log4j中特定方法(例如致命或错误)的类名,方法名和行号?我不需要该信息来获取信息和跟踪。

1 个答案:

答案 0 :(得分:0)

Appender只能指定一个模式。
因此,您可能应该创建两个分配器:一个用于错误级别以上的日志,另一个用于等于或高于错误级别的日志。

对于记录错误的Appender,您可以使用ThresholdFilter feature,例如:

  <Appenders>
    <RollingFile name="RollingFile" fileName="logs/app.log"
                 filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
      <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
      <PatternLayout>
        <pattern>%d %p %c{1.} [%t] %m%n</pattern>
      </PatternLayout>
      <TimeBasedTriggeringPolicy />
    </RollingFile>
  </Appenders>

如果将整个日志保存在同一文件中很重要,您仍然可以合并它们。