log4j.appender.MAIL=log.mailInfo.SelfSMTPAppender
#log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
# LEVEL
log4j.appender.MAIL.Threshold=INFO
# Email
#log4j.appender.MAIL.BufferedIO=true
#设置缓存,当日志记录数为10条时,发送邮件。默认为1
log4j.appender.MAIL.BufferSize=10
# SMTP
log4j.appender.MAIL.SMTPHost=smtp.163.com
# 主题 用java native2ascii编译解决中文乱码
log4j.appender.MAIL.Subject=LOG4J\u65E5\u5FD7\u8BB0\u5F55\u4FE1\u606F\uFF01
# 邮箱登陆名称
log4j.appender.MAIL.SMTPUsername=**************
# 邮箱登陆密码
log4j.appender.MAIL.SMTPPassword=**************
# 邮箱名称
log4j.appender.MAIL.From=**********@163.com
# 目的邮箱,多个邮箱以逗号分隔
log4j.appender.MAIL.To=*******@hotmail.com
# PatternLayout
#log4j.appender.MAIL.layout=log.mailInfo.SelfHtmlLayOut
log4j.appender.MAIL.layout=log.mailInfo.SelfPatternLayOut
log4j.appender.MAIL.layout.ConversionPattern=[Message] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#不写入上层即父类logger
log4j.additivity.MAIL=false
解决邮箱标题乱码:用native2ascii把中文字符进行Unicode编码
解决邮件内容乱码:写一个子类继承PatternLayOut,重写器getContentType方法,返回字符串"text/plain;charset=UTF-8”
解决邮件缓存问题:如果程序停止时,日志记录小于10, 默认不会发送。写一个子类
public class SelfSMTPAppender extends SMTPAppender implements Runnable {
public SelfSMTPAppender() {
super(new SelfTriggeringEventEvaluator());
Runtime.getRuntime().addShutdownHook(new Thread(this));
}
@Override
public void append(LoggingEvent event) {
if (!(checkEntryConditions())) {
return;
}
event.getThreadName();
event.getNDC();
event.getMDCCopy();
if (this.getLocationInfo()) {
event.getLocationInformation();
}
this.cb.add(event);
if (this.evaluator.isTriggeringEvent(event))
if (cb.length() > this.getBufferSize()) {
sendBuffer();
}
}
/**
* 当程序结束时,还在缓冲里面的事件是不会被发送出来的。因为事件数往往没有bufferSize的一半<br>
* 加一个线程处理,当JVM退出时,将缓冲区数据发送出去。即程序结束前,执行一些清理工作<br>
*/
@Override
public void run() {
if (cb.length() > 0) {
sendBuffer();
}
}
}
分享到:
相关推荐
log4j使用详解log4j使用详解log4j使用详解log4j使用详解log4j使用详解log4j使用详解log4j使用详解log4j使用详解log4j使用详解log4j使用详解log4j使用详解
log4j使用教程 log4j使用教程 log4j使用教程
该文档包括log4j的介绍、log4j的配置文件以及配置参数详解、log4j在程序中的使用、以及log4j配置示例四大部分。
Log4j使用总结.docLog4j使用总结.doc Log4j使用总结.docLog4j使用总结.doc Log4j使用总结.docLog4j使用总结.doc
针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...
若依框架使用的log4j2.16.0,修复log4j漏洞log4j2下载最新log4j2.16.0下载
apache-log4j-1.2.15.jar, apache-log4j-extras-1.0.jar, apache-log4j-extras-1.1.jar, apache-log4j.jar, log4j-1.2-api-2.0.2-javadoc.jar, log4j-1.2-api-2.0.2-sources.jar, log4j-1.2-api-2.0.2.jar, log4j-...
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar jar xvf XXX.jar 2. 删除旧版本jar cd ./BOOT-INF/lib rm -rf log4j-api-*.jar 3. 上传新版本log4j-api-2.15.0....
1.该笔记中详细的介绍了log4j的作用和优势、具体地讲解了log4j的使用步骤和详细配置。 2.深入的说明了log4j在项目中的重要地位以及给项目带来的影响,同时说明了log4j的优化。 3.该笔记从log4j的简介/入门开始介绍,到...
此文件教你一步一步教你如何使用Log4j此文件教你一步一步教你如何使用Log4j此文件教你一步一步教你如何使用Log4j此文件教你一步一步教你如何使用Log4j此文件教你一步一步教你如何使用Log4j
Log4j 是一个日志记录框架,Log4j 2 是对 Log4j 的升级,提供了重大改进,超越其前身 Log4j 1.x,并提供许多其它现代功能 ,例如对标记的支持、使用查找的属性替换、lambda 表达式与日志记录时无垃圾等。 Apache ...
apache log4j使用大全 log4j使用
log4j+slf4j实现 log4j测试代码,log4j+slf4j实现 log4j测试代码,
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar jar xvf XXX.jar 2. 删除旧版本jar cd ./BOOT-INF/lib rm -rf log4j-api-*.jar 3. 上传新版本log4j-api-...
描述Log4j2的配置详情及相对Log4j的优点,包括效率测试程序
下面小编就为大家带来老生常谈Log4j和Log4j2的区别(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
log4j.rootLogger=debug,CONSOLE,testfile,A1,MAIL ################### # Console Appender ################### log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Target=...
Log4J使用完全手Log4J使用完全手Log4J使用完全手Log4J使用完全手Log4J使用完全手Log4J使用完全手Log4J使用完全手Log4J使用完全手Log4J使用完全手
赠送jar包:log4j-to-slf4j-2.17.1.jar; 赠送原API文档:log4j-to-slf4j-2.17.1-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.17.1.pom; 包含翻译后...