Logback.xml调试级别没有超过请求

时间:2014-09-04 07:16:30

标签: xml logging logback

我的logback.xml文件中有以下代码:

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>
            ${TARGET}/Logs/loadtest-${TIMESTAMP}.log
        </file>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
            <immediateFlush>false</immediateFlush>
        </encoder>
    </appender>
<root level="debug">
        <appender-ref ref="FILE" />
</root>

问题是它对日志文件输出太多(成功和失败的请求)。我需要做的是为错误消息保留调试级别,但添加某种过滤器以不将成功的请求信息打印到文件中。我该怎么做? 提前谢谢

1 个答案:

答案 0 :(得分:0)

好的,不知怎的,我设法做到了。问题没有详细说明:我实际上需要某些特定消息的调试级别输出。所以我在appender中添加了一个过滤器:

<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
  <evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
  <expression>return message.contains("whatYouNeedToFilter");</expression>
  </evaluator>
  <OnMismatch>DENY</OnMismatch>
  <OnMatch>NEUTRAL</OnMatch>
</filter>

不要忘记此过滤器所需的依赖性。我正在使用Gradle,所以它看起来像这样:

compile 'org.codehaus.janino:janino:2.6.1'