我正在将应用程序从log4j
迁移到log4j2
。
下面的代码段与log4j
相关,并且添加了一个过滤器DenyAllFilter
。
<appender name="TEST_FILE" class="org.apache.log4j.RollingFileAppender">
...
...
<filter class="com.test.it.ModeFilter">
<param name="Mode" value="Test" />
<param name="Deny" value="false" />
</filter>
<filter class="org.apache.log4j.varia.DenyAllFilter"/>
</appender>
是否也应在
DenyAllFilter
中定义log4j2
?如果是这样,那么DenyAllFilter
中的log4j2
等效项是什么,以便可以将其添加到RollingFile
中的log4j2.xml
下,如下所述。<RollingFile="TEST_FILE" other sttributes ...>
...
...
<ModeFilter name="ModeFilter" other attributes ... />
??? what is the equivalent of DenyAllFilter???
请帮忙。谢谢。
最佳答案
根据docs,DenyAllFilter可用于从默认的“除非另有说明,否则全部接受”过滤行为切换为“除非另有说明,否则全部拒绝”过滤行为。
在Log4j 2中没有与此直接等效的方法。由于无论如何您都需要将自定义ModeFilter重写为Log4j 2 plugin,因此您可能想要更改此过滤器的接受/拒绝条件。