【问题标题】:logback ThresholdFilter how todo the oppositelogback ThresholdFilter 如何做相反的事情
【发布时间】:2012-11-01 14:59:13
【问题描述】:

我需要一个只通过所有信息和 LESS 而不是信息等的过滤器。我以前在 logback 的某个地方看到过这个。我的完整 xml 在这里,我想要信息而不是更少的信息进入标准输出(无需编写过滤器,因为我知道这是可能的)......

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
        <level>info</level>
    </filter>

    <layout class="ch.qos.logback.classic.PatternLayout">
        <pattern>%date{ISO8601} %X{sessionid}-%X{user} %caller{1} %-4level: %message%n</pattern>
    </layout>
</appender>

<appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
        <level>warn</level>
    </filter>

    <layout class="ch.qos.logback.classic.PatternLayout">
        <pattern>%date{ISO8601} %X{sessionid}-%X{user} %caller{1} %-4level: %message%n</pattern>
    </layout>
    <target>System.err</target>
</appender>

【问题讨论】:

    标签: logback


    【解决方案1】:

    终于明白了……

    <?xml version="1.0" encoding="UTF-8" ?>
    <configuration scan="true" scanPeriod="30 seconds">
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <filter class="ch.qos.logback.core.filter.EvaluatorFilter">      
              <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator"> 
                <expression>
                   e.level.toInt() &lt;= INFO.toInt()
                </expression>
              </evaluator>
              <OnMismatch>DENY</OnMismatch>
              <OnMatch>NEUTRAL</OnMatch>
            </filter>
    
            <encoder>
                <pattern>%date{ISO8601} %X{sessionid}-%X{user} %caller{1} %-4level: %message%n</pattern>
            </encoder>
        </appender>
    
        <appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
                <level>warn</level>
            </filter>
    
            <encoder>
                <pattern>%date{ISO8601} %X{sessionid}-%X{user} %caller{1} %-4level: %message%n</pattern>
            </encoder>
            <target>System.err</target>
        </appender>
    
        <appender name="TEMP" class="com.alvazan.play.logging.CassandraAppender">
            <appender-ref ref="STDOUT"/>
        </appender>
    
        <root>
            <level value="INFO" />
            <appender-ref ref="STDOUT"/>
            <appender-ref ref="STDERR"/>
            <!-- appender-ref ref="TEMP"/-->
        </root>
    </configuration>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-14
      相关资源
      最近更新 更多