开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【总结】log4j SMTPAppender控制发送邮件间隔

简介:
+关注继续查看

Log4j的Appender中有个SMTPAppender,支持在日志事件发生ERROR及以上级别的时候发送邮件。

源代码中貌似在遇到ERROR的情况下就会发邮件,不排除程序会在某一时刻出错,一直有ERROR级别的日志,这个时候就会发送N多封邮件(邮箱服务累哭)。于是修改一下SMTPAppender源代码,使之能够在配置文件中控制发送邮件的间隔。


修改代码:

https://github.com/chocolateBlack/log4j/blob/trunk/src/main/java/org/apache/log4j/net/SMTPAppender.java


配置文件:

log4j.rootLogger=INFO,stdout,R,MAIL

# stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%5p [%t] %c{2}:%L %m%n

log4j.appender.stdout.Encoding=UTF-8

# rolling log file

log4j.appender.R=org.apache.log4j.RollingFileAppender

log4j.appender.R.maxFileSize=1GB

log4j.appender.R.maxBackupIndex=10

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c %x -- %m%n

log4j.appender.R.File=/usr/local/flume/logs/server.log

log4j.appender.R.Encoding=UTF-8

log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender

log4j.appender.MAIL.Threshold=ERROR

#发送邮件的时间间隔,防止系统产生很多ERROR日志,收到邮件太多,单位:1800秒log4j.appender.MAIL.SendMailInterval=1800

log4j.appender.MAIL.From=123@163.com

log4j.appender.MAIL.SMTPDebug=false

log4j.appender.MAIL.Subject=dx_flume_log4j

log4j.appender.MAIL.To=123@163.com.cn

log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout

log4j.appender.MAIL.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c %x




     本文转自巧克力黒 51CTO博客,原文链接:http://blog.51cto.com/10120275/1855801,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
WRF主程序与WPS的编译与安装
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ESA_DSQ/article/details/78228678 最近重新把WRF学习提上事宜,所以开始重新鼓捣WRF。
3916 0
02. WebApp2.0时代启程:Cocos2d-JS为什么选择SpiderMonkey(二)
紧接上文,cocos2d-JS为我们提供了图形引擎、物理引擎、JS引擎等基础库,在多终端时代提供了非常nice的游戏引擎,在浏览器普及在各个终端的今天,为什么还要单独搞一套JS引擎呢? 1. 我们先看看使用SpiderMonkey的技术产品有哪些? ![screenshot](http://img1.tbcdn.cn/L1/461/1/aec02fdece92d563ae07a7dc0c0
3894 0
Java 超简单实现发送邮件(可动态控制发送人数)
发送邮件的实现 需要事先引入以下几个架包,最重要的架包是jodd-3.7这个   以上架包下载地址:http://pan.baidu.com/s/1kVs7Tyv  提取密码:h22x 新建一个Util类,其中emails.
1056 0
vmware下虚拟机centos 桥接上网
一、设置VMware         在vmware的【编辑】-->【虚拟网络编辑器】设置:将VMnet0设置为“桥接”,并桥接到宿主机器的网卡(可以是有线或者无线网络)。
996 0
修改Flume Log4j Appender
<div class="entry-content" style="margin:0px; padding:0px; border:0px; font-family:'PT Serif',Georgia,Times,'Times New Roman',serif; line-height:27.59375px; font-size:18px; vertical-align:baseline
1996 0
CentOS6.4 利用sendEmail发邮件
1、下载安装sendEmail wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar zxvf sendEmail-v1.
1093 0
21114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载