当前位置: 首页 > article >正文

Spring Boot 中logback无法对warn警告日志发送邮件

因为logback中的SMTPAppender所使用的eventEvaluator默认是OnErrorEvaluator,只会针对error级别的日志发送邮件。如下是SMTPAppender的start()方法的逻辑:

public void start() {
    if (eventEvaluator == null) {
        OnErrorEvaluator onError = new OnErrorEvaluator();
        onError.setContext(getContext());
        onError.setName("onError");
        onError.start();
        this.eventEvaluator = onError;
    }
    super.start();
}

因此为了能对warn日志发送邮件,除了需要正确配置SMTPAppender的filter外(使之能接受warn日志),还需要对SMTPAppender配置evaluator属性进行配置,使之允许对warn日志发送邮件,例如:

<appender name="MAIL_WARN" class="ch.qos.logback.classic.net.SMTPAppender">
    <evaluator class="ch.qos.logback.classic.boolex.JaninoEventEvaluator">
        <expression>return level >= WARN;</expression> 
    </evaluator>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>WARN</level>
    </filter>
</appender>

参考资料:

https://stackoverflow.com/questions/24739509/logback-fire-mail-for-warnings


http://www.kler.cn/a/508626.html

相关文章:

  • wireshark抓路由器上的包 抓包路由器数据
  • Windows图形界面(GUI)-QT-C/C++ - QT 对话窗口
  • 【算法学习笔记】30:埃氏筛(Sieve of Eratosthenes)和线性筛(Linear Sieve)
  • 网络科技有限公司网络设计
  • C# 获取PDF文档中的字体信息(字体名、大小、颜色、样式等
  • SuperMap iClient3D for Cesium立体地图选中+下钻特效
  • 使用SIPP发起媒体流性能测试详解
  • PyBroker:利用 Python 和机器学习助力算法交易
  • 自动驾驶占用网格预测
  • Ruby JSON 优化之路:性能提升的探索与实践
  • 文档智能:OCR+Rocketqa+layoutxlm <Rocketqa>
  • 【Kotlin】上手学习之控制流程篇
  • ReaderLM v2:HTML 转 Markdown 和 JSON 的前沿小型语言模型
  • 常见安全风险及防护(如CSRF,XSS) 配置SSL/TLS
  • 分类统计字符个数(PTA)C语言
  • mysql主从复制sql进程中断,报错Tablespace is missing for table ……
  • Vue 3 中的 defineExpose
  • C语言之字符函数和字符串函数(上)
  • Vue3实现表格搜索内容高亮
  • Kotlin Bytedeco OpenCV 图像图像57 图像ROI
  • BUUCTF Web
  • 哪些新兴技术对智能驾驶汽车影响最大?
  • Neo4j与Python交互
  • FFMpeg的一些常用命令
  • 一探究竟:如何高效提取ULL中的当前参数,实现性能与精度的完美平衡
  • 矩阵碰一碰发视频源码技术开发全解析,支持OEM