![](/img/trans.png)
[英]Log4j StringMatchFilter and denyAll filter properties configuration
[英]log4j StringMatchFilter configuration
我想記錄包含“Here is DEBUG”的消息,我的 log4j2.xml 是這樣的:
<Appenders>
<!-- Console Appender -->
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%-5p %c{1} - %m%n" />
</Console>
<!--RollingFile Appender-->
<RollingFile name="rollingFile" fileName="${sys:catalina.base}/logs/${project.name}.log" filePattern="${sys:catalina.base}/logs/${project.name}-%i.log">
<PatternLayout>
<Pattern>%p %d{dd-MMMMMMMMM-yyyy HH:mm:ss:SSS} %m %n%n</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="500kb" />
</Policies>
<DefaultRolloverStrategy max="5" />
</RollingFile>
<filter class="org.apache.log4j.varia.StringMatchFilter">
<param name="StringToMatch" value="Here is DEBUG" />
<param name="AcceptOnMatch" value="true" />
</filter>
</Appenders>
<Loggers>
<Root level="debug">
<!--AppenderRef ref="console" /-->
<AppenderRef ref="rollingFile" />
</Root>
</Loggers>
我的java代碼是: log.info("Here is DEBUG"); log.info("XXXXXXXXXXXX"); log.warn("這是一個警告"); log.error("這是一個錯誤"); 但我仍然得到了日志中的所有內容。
好的,我想通了。 log4j 1 和 2 在配置上有很大不同。 2、過濾器應該看起來像
<RegexFilter regex="DEBUG .*" onMatch="ACCEPT" onMismatch="DENY"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.