簡體   English   中英

log4j StringMatchFilter 配置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM