开篇
现在应用都需要对日志进行监控或者报警,现在普遍的做法是采用EKL收集日志,然后再由Grafana进行内容展示和及告警策略等,那如果项目架构比较简单(单体应用),又不想搞那么多中间件依赖怎么办,这里有一种简单的方式可以实现~
继承UnsynchronizedAppenderBase
Springboot默认集成的是logback,所以自定义Appender非常简单,继承一下AppenderBase类即可。

再来看看AppenderBase之上的Appender下都有哪些实现

UnsynchronizedAppenderBase。从名字就能看出来是异步的、普通的、不加锁的。 它类似于AppenderBase,只是派生的Appender实现类需要自己处理线程同步。
演示
定义一个SendErrorMsgAppender
这个类要继承UnsynchronizedAppenderBase,并实现其中的抽象方法,不需要手动让它线程同步,异步就好,这样可以避免出错了导致业务操作回滚。
/**
* UnsynchronizedAppenderBase 用于异步处理,不阻塞主线程, 拦截error日志,并发送到钉钉群
*/
@Getter
@Se

本文介绍了在简单的项目架构中,如何通过继承UnsynchronizedAppenderBase来自定义日志处理,实现错误日志的拦截,并发送到钉钉群进行监控和报警。详细讲解了自定义SendErrorMsgAppender的步骤和配置方法。
最低0.47元/天 解锁文章
1125

被折叠的 条评论
为什么被折叠?



