카테고리 없음

[slf4j] logback-access에서 일부 요청의 로깅을 억제하는 방법은 무엇입니까?

행복을전해요 2020. 12. 23. 16:49

다음은 간단한 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.URLEvaluatorJanino와 함께 인라인 스크립트 대신 사용할 수 있습니다.

<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