强大的log4j,错误信息自动发送至邮箱

本文介绍如何配置log4j,以便在出现错误时自动将错误信息发送到指定邮箱。通过引入log4j-1.2.1.jar、activation.jar和mail.jar,设置log4j.properties,确保重写getContentType方法解决乱码问题,实现无须时刻监控服务器,只需关注邮件即可掌握代码运行状况。

      前几天看师兄都不用看服务器,天天盯着邮箱看就能知道代码哪里出问题了。手痒,我就试试,写了一个小的程序Java的

导入jar文件

                                                 log4j-1.2.1.jar

                                                 activation.jar

                                                 mail.jar

项目结构:

                                                                                          


log4j.properties

log4j.appender.infoR.Append = true
log4j.appender.infoR.Threshold = INFO
#log4j.appender.infoR.DatePattern='_'yyyy-MM-dd-HH'.log'
log4j.appender.infoR.layout = org.apache.log4j.PatternLayout  
log4j.appender.infoR.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [ %l ] %m%n  
  
#errorR  
log4j.appender.errorR = org.apache.log4j.DailyRollingFileAppender  
log4j.appender.errorR.File =f:/errorLog.txt  
log4j.appender.errorR.Append = true  
log4j.appender.errorR.Threshold = ERROR
#log4j.appender.errorR.DatePattern='_'yyyy-MM-dd-HH'.log'
log4j.appender.errorR.layout = org.apache.log4j.PatternLayout  
log4j.appender.errorR.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [ %l ] %m%n  
## MAIL
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=ERROR
log4j.appender.MAIL.BufferSize=512
log4j.appender.MAIL.SMTPHost=smtp.sina.cn
log4j.appender.MAIL.Subject=\u522B\u6CE1\u59B9\u5B50\u4E86\uFF0C\u8D76\u7D27\u4FEE\u7406\u670D\u52A1\u5668
log4j.appender.MAIL.SMTPUsername=zhanglu1236789@sina.cn
log4j.appender.MAIL.SMTPPassword=aasd6778246995
log4j.appender.MAIL.From=zhanglu1236789@sina.cn
log4j.appender.MAIL.To=2366585970@qq.com
log4j.appender.MAIL.layout=test.Logger4jHTMLLayout
log4j.appender.MAIL.layout.ConversionPattern=[ErrorMessage] %d - %c -%-4r [%t] %-5p %c %x - %m%n

Logger4jHTMLLayout.jave

import org.apache.log4j.HTMLLayout;

/**
 * author:zhanglu
 * 2015年9月14日
 * 下午5:19:58
 */
public class Logger4jHTMLLayout extends HTMLLayout {

	@Override
    public String getContentType() {
        return "text/html;charset=utf-8"; 
    }
}

checkLog4j1.java   测试类

import org.apache.log4j.Logger;

/**
 * author:zhanglu
 * 2015年9月14日
 * 下午4:50:15
 */
public class checkLog4j1 {
	private static Logger info = Logger.getLogger("InfoLogger");  
    private static Logger error = Logger.getLogger("ErrorLogger");  
	public static void main(String[] args) {
		
		error.error("sdadfwf");
	}
}

运行,邮箱收到如下邮件


注意,大家一定要重写getContentType方法,防止乱码

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值