Log4j2定义2个不同级别的根记录器



我有两个正在使用的appender-Console和名为MyAppender的自定义appender,它应该忽略级别低于ERROR的所有消息(意味着-它应该只支持ERROR和FATAL(。控制台应能够支持所有级别。我尝试了几种方法来定义它,但过滤器似乎不适用于根级别的附加程序。如何做到这一点?我当前的log4j2定义:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="com.mysample.logging.appenders" status="DEBUG">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<MyAppender name="MyAppender">
<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
</MyAppender>
</Appenders>
<Loggers>
<Root level="ALL">
<AppenderRef ref="Console"/>
<AppenderRef ref="MyAppender" />
</Root>
</Loggers>
</Configuration>

记录器是从根记录器开始的一个层次结构。Log4j的一个工作设置中没有两个根记录器。

您想要实现的是在附加器上设置不同的阈值。检查Piotr建议的链接:

使用log4j2,是否可以为appender分配特定级别?

最新更新