Yaml中LevelRangeFilter的log4j2等效项是什么?

时间:2019-06-22 00:30:14

标签: spring-boot log4j yaml log4j2 loggerfactory

在yaml中,log4j2的等效项是什么?

<filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMax" value="fatal"/>
            <param name="LevelMin" value="error"/>
            <param name="AcceptOnMatch" value="true"/>
        </filter>

这正确吗?

LevelRangeFilter:
   onMatch: accept
   minLevel: error
   maxLevel: fatal

1 个答案:

答案 0 :(得分:0)

我自己偶然发现了这个。这是一个最小的log4j2.yaml文件,该文件将所有ERROR事件发送到STDERR,并将其他所有事件发送到STDOUT:

Configuration:
  # ...
  Appenders:
    Console:
      - name: STDOUT
        target: SYSTEM_OUT
        Filters:
          - LevelRangeFilter:
              maxLevel: TRACE
              minLevel: INFO
              onMatch: ACCEPT
              onMismatch: DENY
      - name: STDERR
        target: SYSTEM_ERR
        Filters:
          - LevelRangeFilter:
              maxLevel: ERROR
              minLevel: ERROR
              onMatch: ACCEPT
              onMismatch: DENY
  Loggers:
    Root:
      level: INFO
      AppenderRef:
        - ref: STDOUT
        - ref: STDERR

请小心minLevelmaxLevel,因为log4j2中的TRACE> INFO> ERROR。