【问题标题】:Which is the difference between logger level and threshold filter level in Logback?Logback 中的记录器级别和阈值过滤器级别有什么区别?
【发布时间】:2016-12-30 10:25:48
【问题描述】:

我有一个带有ThreshholdFilter 的附加程序,其级别为 INFO:

<appender name="my_apender" class="com.my.apender.MyAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>INFO</level>
    </filter>
</appender>

还有一个级别为 INFO 的记录器:

<logger name="whatever" level="INFO">
    <appender-ref ref="my_appender"/>
</logger>

这两个级别有什么区别?

【问题讨论】:

    标签: logging logback


    【解决方案1】:

    为 logger 分配的级别是您的 logger 使用的级别,而在过滤器中分配的级别 ch.qos.logback.classic.filter.ThresholdFilter 是此 appender 将记录内容的级别,更多 details

    这是一个澄清事情的例子:

    <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
    <appender name="my_apender1" class="com.my.apender.MyAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
    </appender>
    
    <!-- deny all events with a level below DEBUG, that is TRACE-->
    <appender name="my_apender2" class="com.my.apender.MyAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
    </appender>
    
    <!-- event with level DEBUG will be handled only by my_apender2, and events with higher levels than DEBUG will be handled by both appenders -->
    <logger name="whatever" level="DEBUG">
        <appender-ref ref="my_appender1"/>
        <appender-ref ref="my_appender2"/>
    </logger>
    

    【讨论】:

      【解决方案2】:

      为了明确区分,让我们举个例子...... ...假设您的记录器与两个附加程序相关联,一个附加程序记录到 myapp_all.log 文件,另一个记录到 myapp_error.log。现在,如果您只想将 ERROR 级别的日志记录到 myapp_error.log,您将使用 appender 过滤器而不是 logger 过滤器。由于单个类通常与单个记录器相关联,因此您不能使用记录器级别来分叉错误级别流。

      【讨论】:

        【解决方案3】:

        Logger 的级别是将要从中传递的事件的级别。 Appender 的阈值过滤器是最终到达目标目的地(控制台、文件等)的事件级别。

        【讨论】:

          猜你喜欢
          • 2011-06-03
          • 1970-01-01
          • 2021-12-27
          • 2016-12-13
          • 1970-01-01
          • 1970-01-01
          • 2017-01-04
          • 2014-10-21
          • 1970-01-01
          相关资源
          最近更新 更多