转载:http://www.blogjava.net/sxyx2008/
需求描述:任何程序都会存在bug,虽然项目经过反复测试,已经上线运行了,但难免会遇到各种错误,在这里轻松配置log4j实现错误消息的email通知.
两个文件:web.xml log4j.properties
web.xml
log4j.properties
注:在以上log4j.properties文件中配置了自己的自定义layout,由于log4j默认采用的纯文本方式.这样不便于我们在邮件中查看,因此覆盖它的layout,自定义属于我们自己的layout
自定义类com.quartz.demo.Loger4JHTMLLayOut完成了该功能
即:只需设置contentType为text/html即可
效果图:
log4j.properties
需求描述:任何程序都会存在bug,虽然项目经过反复测试,已经上线运行了,但难免会遇到各种错误,在这里轻松配置log4j实现错误消息的email通知.
两个文件:web.xml log4j.properties
web.xml
在web.xml中添加如下代码
<!-- 设置上下文参数 -->
<context-param>
<!-- log4j配置文件位置 -->
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>6000</param-value>
</context-param>
<!-- log4j监听器 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
log4j.properties
## ROOT
log4j.rootLogger=INFO,CONSOLE,MAIL
## CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=INFO
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.appender.CONSOLE.layout.ConversionPattern=[\u8C03\u8BD5\u4FE1\u606F]%-5p %c %x - %m%n
## File
log4j.appender.A_default=org.apache.log4j.RollingFileAppender
log4j.appender.A_default.Threshold=INFO
log4j.appender.A_default.File=e\:/logs/log4j.log
log4j.appender.A_default.MaxFileSize=4000KB
log4j.appender.A_default.MaxBackupIndex=10
log4j.appender.A_default.layout=org.apache.log4j.PatternLayout
log4j.appender.A_default.layout.ConversionPattern=[\u8C03\u8BD5\u4FE1\u606F]%-5p %c %x - %m%n
## MAIL
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
# 日志的错误级别
log4j.appender.MAIL.Threshold=ERROR
# 缓存文件大小,日志达到512K时发送Email
log4j.appender.MAIL.BufferSize=10
# 发送邮件的服务器
log4j.appender.MAIL.SMTPHost=smtp.163.com
# 邮件的标题
log4j.appender.MAIL.Subject=\u6D4B\u8BD5log4j\u8F93\u51FA\u9519\u8BEF\u4FE1\u606F\u5230\u65E5\u5FD7
# 用户名
log4j.appender.MAIL.SMTPUsername=你的用户名
# 密码
log4j.appender.MAIL.SMTPPassword=你的密码
# 发件人地址
log4j.appender.MAIL.From=xxxxx@163.com
# 日志邮件的接收者
log4j.appender.MAIL.To=xxx@qq.com
# 日志PatternLayout
log4j.appender.MAIL.layout=com.quartz.demo.Loger4JHTMLLayOut
# 日志的格式
log4j.appender.MAIL.layout.ConversionPattern=[ErrorMessage] %d - %c -%-4r [%t] %-5p %c %x - %m%n
注:在以上log4j.properties文件中配置了自己的自定义layout,由于log4j默认采用的纯文本方式.这样不便于我们在邮件中查看,因此覆盖它的layout,自定义属于我们自己的layout
自定义类com.quartz.demo.Loger4JHTMLLayOut完成了该功能
package com.quartz.demo;
import org.apache.log4j.HTMLLayout;
public class Loger4JHTMLLayOut extends HTMLLayout{
@Override
public String getContentType() {
return "text/html;charset=utf-8";
}
}
即:只需设置contentType为text/html即可
效果图:


log4j.properties