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