다음은 간단한 EvaluatorFilter
구성입니다. appender 내부에 복사하십시오.
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator>
<expression>
return formattedMessage.contains(".jpg") ||
formattedMessage.contains(".gif");
</expression>
</evaluator>
<onMatch>DENY</onMatch>
</filter>
...
어쩌면 당신은 이후 표현을 사용자 정의해야 .gif
하고 .jpg
너무 다른 로그 메시지에서 발생할 수 있습니다.
EvaluatorFilter
다음 종속성이 필요합니다. 당신에 넣어 pom.xml
또는 메이븐을 사용하지 않는 경우 클래스 패스에 추가 :
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>janino</artifactId>
<version>2.5.16</version>
</dependency>
추가 EvaluatorFilter 문서
-------------------logback-access에는 ch.qos.logback.access.net.URLEvaluator
Janino와 함께 인라인 스크립트 대신 사용할 수 있습니다.
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator class="ch.qos.logback.access.net.URLEvaluator">
<URL>.jpg</URL>
<URL>.gif</URL>
<URL>https://example.com/static/</URL>
<URL>/ops/</URL>
<URL>/management/</URL>
<URL>/monitoring</URL>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
...
내부 URLEvaluator
차종 contains()
일치 캔은 URL의 어떤 부분에서 발생하므로.
IMHO Janino 라이브러리 사용을 피하는 것이 좋습니다.
출처
https://stackoverflow.com/questions/7420178