关于logback
- logback-filter机制
一个可以保证所有404错误都会被记录的例子
<configuration>
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator name="myEval">
<expression>event.getStatusCode() == 404</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
<layout class="ch.qos.logback.access.PatternLayout">
<pattern>
%h %l %u %t %r %s %b
</pattern>
</layout>
</appender>
<appender-ref ref="STDOUT" />
</configuration>
记录不返回css资源的所有404
<configuration>
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator name="Eval404">
<expression>event.getStatusCode() == 404</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator name="EvalCSS">
<expression>event.getRequestURI().contains("css")</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
<layout class="ch.qos.logback.access.PatternLayout">
<pattern>
%h %l %u %t %r %s %b
</pattern>
</layout>
</appender>
<appender-ref ref="STDOUT" />
</configuration>
<!--配置过滤器只打印你想打印的-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<!--允许打印匹配的-->
<onMatch>ACCEPT</onMatch>
<!--拒绝打印不匹配的【deny:[dI'nai]】拒绝的意思-->
<onMismatch>DENY</onMismatch>
</filter>