logback过滤部分日志输出

场景

使用监控异常日志进行告警时,部分异常日志可能只是不需要告警,但无法通过编码去除时,可以通过不输出这类异常日志达到忽略告警的目的。

比如在系统中经常会出现断开的管道的相关问题,异常如下

org.apache.catalina.connector.ClientAbortException: java.io.IOException: 断开的管道
org.apache.catalina.connector.ClientAbortException: java.io.IOException: broken pipe
[587ce8c8] Error [reactor.netty.ReactorNetty$InternalNettyException: java.nio.channels.ClosedChannelException] for HTTP GET "/xxxx", but ServerHttpResponse already committed (200 OK)

 有因为使用框架的原因异常无法捕获,在不改源码的情况下可以通过是用日志过滤的方式处理。

日志过滤

  • 基于logback的基础上引入jar包,不引入无法启动。
        
        
            org.codehaus.janino
            commons-compiler
            3.0.12
        
        
            org.codehaus.janino
            janino
            3.0.12
        
  • 添加过滤条件
        
             
            
                
                
                       
                       
                    return message.contains("broken pipe");
                
                
                DENY
                
                ACCEPT
            
            
            
        

 

你可能感兴趣的:(Spring,日志,logback,logback过滤,logback忽略)