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包,不引入无法启动。
<!--日志过滤--><dependency><groupId>org.codehaus.janino</groupId><artifactId>commons-compiler</artifactId><version>3.0.12</version></dependency><dependency><groupId>org.codehaus.janino</groupId><artifactId>janino</artifactId><version>3.0.12</version></dependency>
- 添加过滤条件
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><!--增加日志匹配处理--><filter class="ch.qos.logback.core.filter.EvaluatorFilter"><!--匹配处理器--><evaluator><!-- 处理模式,默认为 ch.qos.logback.classic.boolex.JaninoEventEvaluator --> <!-- 存在某个字符串则匹配成功 --> <expression>return message.contains("broken pipe");</expression><!-- <expression>return message.contains("broken pipe")|| message.contains("断开的管道") ;</expression> --> </evaluator><!--匹配则停止执行日志输出--><OnMatch>DENY</OnMatch><!--不匹配则往下执行--><OnMismatch>ACCEPT</OnMismatch></filter><!--调用其他日志处理--><appender-ref ref="KAFKA"/></appender>
logback过滤部分日志输出相关推荐
- SpringBoot中LogBack日志输出配置记录
<?xml version="1.0" encoding="UTF-8"?><!-- Created by jinKai on 2017/1/ ...
- Logback 整合 RabbitMQ 实现统一日志输出
一.前言 公司项目做了集群实现请求分流,由于线上或多或少会出现请求失败或系统异常,为了查看失败请求的日志信息,我们得将所有服务的日志文件都打开来进行问题的定位分析,操作起来非常麻烦.因此,我们开发组决 ...
- java 使用logback进行日志输出
在java项目中使用logback可以非常方便的进行日志输出,logback的使用方法与log4j非常类似:使用logback所需要的jar包包括: logback-classic-1.0.13.ja ...
- logback指定不同包下的日志输出到不同的文件
<?xml version="1.0" encoding="UTF-8"?> <!--~ Copyright (c) 2018-2025, l ...
- python logger filter_使用Filter过滤python中的日志输出的实现方法
事情是这样的,我写了一个tornado的服务,过程当中我用logging记录一些内容,由于一开始并没有仔细观察tornado自已的日志管理,所以我就一般用debug来记录普通日志,error记录有问题 ...
- logback之二:输出日志到控制台
和logack之一:输出日志到控制台 类似,改动的地方: 1. logback[-test].xml文件: Java代码 <appender name="fileAppender& ...
- 近期业务大量突增微服务性能优化总结-2.开发日志输出异常堆栈的过滤插件
最近,业务增长的很迅猛,对于我们后台这块也是一个不小的挑战,这次遇到的核心业务接口的性能瓶颈,并不是单独的一个问题导致的,而是几个问题揉在一起:我们解决一个之后,发上线,之后发现还有另一个的性能瓶颈问 ...
- Logback日志乱码,指定日志输出路径,日志彩色输出
Logback日志乱码: 处理方案1: <encoder><charset class="java.nio.charset.Charset">UTF-8&l ...
- log日志输出到文件:
log日志输出到文件: 输出到不同的文件夹:(需要配置xml文件) <?xml version="1.0" encoding="UTF-8"?> & ...
最新文章
- 四种方法解决最大连续子序列和问题
- mysql中的explain_MySQL中的EXPLAIN
- python小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏
- opencv imencode跟imdecode函数jpg(python)
- 下巴痤疮的治疗方法有哪些?
- 如何通过Bit-Z的场外交易购买BZ?(新手图文攻略)
- ubuntu 设置大小写切换隐藏_VirtualBox中ubuntu的LAMP项目(温度采集)
- 花花酱leetcode 题目-二分搜索
- 湖南工程学院+c语言程序设计人事档案管理系统,程序设计人事档案管理系统.doc...
- html转word 时 字体颜色,【Web前端问题】文字大小和颜色随着热度改变如何做?...
- 计算机组成原理—双口RAM和多模块存储器
- 如何解决wampmysqld服务无法启动,错误id=1067
- 每日一题 PAT 甲级1001 格式化输出
- 提取html中的音频文件,如何将网页中的音频文件提取出来
- 基于遗传算法优化极限学习机预测及其MATLAB实现-附代码
- SAP ERP的版本演变基础知识
- 公司法定代表人的法律风险及防范
- 大地测量球面坐标BLH三个字母的由来含义
- 我所理解的Reed solomon 算法
- 【NLP】中文分词方法:规则分词(正向最大匹配、逆向最大匹配、双向最大匹配)