使用匹配器的Logback.xml过滤器

时间:2018-07-24 16:55:16

标签: filter logback matcher evaluator logback-classic

我正在寻找一种过滤具有特定项目名称的日志的方法。在logback.xml中。目前,我的登录信息如下。我能够过滤出来自formatmessage的数字。

       <evaluator>
            <matcher>
                <Name>odd</Name>
                <!-- filter out odd numbered statements -->
                <regex>[13579]</regex>
            </matcher>

            <expression>odd.matches(formattedMessage)</expression>
        </evaluator>

但是我该如何使用模式键对匹配器的正则表达式进行过滤。

<appender name="FILE" class="XX">
            <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
                <evaluator>
                    <matcher>
                        <Name>odd</Name>
                        <!-- filter out odd numbered statements -->
                        <regex>[O]</regex>
                    </matcher>

                    <expression>odd.matches(projectName)</expression>
                </evaluator>
                <OnMismatch>NEUTRAL</OnMismatch>
                <OnMatch>DENY</OnMatch>
            </filter>

            <encoder>
                <pattern>%d{MM-dd HH:mm:ss} %-5level %40.40logger{40} PN2"%X{projectName}" P="%X{currentPageName}" - %msg%n</pattern>
            </encoder>
            <file>/XX/XX/XX/XX.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- rollover daily -->
                <fileNamePattern>/XX/XXX/XX/default-%d{yy-MM-dd}.%i.log</fileNamePattern>
                <timeBasedFileNamingAndTriggeringPolicy class="XXX">
                    <maxFileSize>10MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
                <maxHistory>30</maxHistory>
                <totalSizeCap>3GB</totalSizeCap>
            </rollingPolicy>
        </appender>

0 个答案:

没有答案