使用log4j写日志信息邮件
2008-12-12 10:40
375 查看
SMTPAppender可以支持将日志以邮件形式发送,一般网上的例子只提供了无需认证的简单情形,所以本人特地写了本文,介绍如何配置使得其可以发送SMTP认证邮件。
先做如下假设
smtp服务器:smtp.sina.com,
useremail: youraccount@sina.com
password: yourpassword
假定我们希望对所有日志级别为ERROR的日志通过上述邮件服务器发送邮件到:admin@yourcompany.com
在log4j.properties中加入如下一段,每段配置上的说明文字(黑色)不是文件内容:
### send error through email.
# log4j的邮件发送appender,如果有必要你可以写自己的appender
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
#发送邮件的门槛,仅当等于或高于ERROR(比如FATAL)时,邮件才被发送
log4j.appender.MAIL.Threshold=ERROR
#邮件缓冲区大小
log4j.appender.MAIL.BufferSize=10
#发送邮件的邮箱帐号
log4j.appender.MAIL.From=youraccount@sina.com
#SMTP邮件发送服务器地址
log4j.appender.MAIL.SMTPHost=smtp.sina.com
#SMTP发送认证的帐号名
log4j.appender.MAIL.SMTPUsername=youraccount
#SMTP发送认证帐号的密码
log4j.appender.MAIL.SMTPPassword=yourpassword
#是否打印调试信息,如果选true,则会输出和SMTP之间的握手等详细信息
log4j.appender.MAIL.SMTPDebug=false
#邮件主题
log4j.appender.MAIL.Subject=Log4J Error Message
#发送到什么邮箱,如果要发送给多个邮箱,则用逗号分隔;
#如果需要bcc给某人,则加入下列行:
#log4j.appender.MAIL.Bcc=aaa@bbb.ccc
log4j.appender.MAIL.To=admin@yourcompany.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
SMTPAppdder经常会出现邮件不能发送的故障,可以通过检查下列途径进行检查:
0.首先打开log4j.appender.MAIL.SMTPDebug选项,将其设置为true
1.检查 防火墙是否屏蔽对smtp服务器以及25端口的访问?
2.如果出现AuthenticationException,则检查是否发送帐号的用户和密码都正确;
其次检查你的邮箱是否支持非web方式发送邮件。比如某个特定时间之后注册的163邮箱就不能通过stmp服务器直接发送邮件(只能通过web界面发)。
3.如果出现Must issue a STARTTLS command,则你不得不放弃使用这个SMTP服务器发送邮件,因为SMTPAppender不支持SSL连接的SMTP邮件发送。典型的例子就是google mail。
文章出处:http://www.diybl.com/course/3_program/java/javajs/2008515/116884.html
先做如下假设
smtp服务器:smtp.sina.com,
useremail: youraccount@sina.com
password: yourpassword
假定我们希望对所有日志级别为ERROR的日志通过上述邮件服务器发送邮件到:admin@yourcompany.com
在log4j.properties中加入如下一段,每段配置上的说明文字(黑色)不是文件内容:
### send error through email.
# log4j的邮件发送appender,如果有必要你可以写自己的appender
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
#发送邮件的门槛,仅当等于或高于ERROR(比如FATAL)时,邮件才被发送
log4j.appender.MAIL.Threshold=ERROR
#邮件缓冲区大小
log4j.appender.MAIL.BufferSize=10
#发送邮件的邮箱帐号
log4j.appender.MAIL.From=youraccount@sina.com
#SMTP邮件发送服务器地址
log4j.appender.MAIL.SMTPHost=smtp.sina.com
#SMTP发送认证的帐号名
log4j.appender.MAIL.SMTPUsername=youraccount
#SMTP发送认证帐号的密码
log4j.appender.MAIL.SMTPPassword=yourpassword
#是否打印调试信息,如果选true,则会输出和SMTP之间的握手等详细信息
log4j.appender.MAIL.SMTPDebug=false
#邮件主题
log4j.appender.MAIL.Subject=Log4J Error Message
#发送到什么邮箱,如果要发送给多个邮箱,则用逗号分隔;
#如果需要bcc给某人,则加入下列行:
#log4j.appender.MAIL.Bcc=aaa@bbb.ccc
log4j.appender.MAIL.To=admin@yourcompany.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
SMTPAppdder经常会出现邮件不能发送的故障,可以通过检查下列途径进行检查:
0.首先打开log4j.appender.MAIL.SMTPDebug选项,将其设置为true
1.检查 防火墙是否屏蔽对smtp服务器以及25端口的访问?
2.如果出现AuthenticationException,则检查是否发送帐号的用户和密码都正确;
其次检查你的邮箱是否支持非web方式发送邮件。比如某个特定时间之后注册的163邮箱就不能通过stmp服务器直接发送邮件(只能通过web界面发)。
3.如果出现Must issue a STARTTLS command,则你不得不放弃使用这个SMTP服务器发送邮件,因为SMTPAppender不支持SSL连接的SMTP邮件发送。典型的例子就是google mail。
文章出处:http://www.diybl.com/course/3_program/java/javajs/2008515/116884.html
相关文章推荐
- java日志信息 log4j 使用方法
- java日志信息 log4j 使用方法
- 在intellij Idea中使用log4j输出日志信息案例
- 使用log4j将日志信息写入数据库中
- Log4J使用实例---日志进行邮件发送或是存入数据库
- 使用log4j将不同类型的日志信息记录到不同的文件中
- 使用Log4J监控系统日志邮件警报
- Log4J使用实例---日志进行邮件发送或是存入数据库
- 使用log4j打印日志信息的操作----以在MyBatis中使用为例
- java日志信息 log4j 使用方法
- 使用Log4J监控系统日志邮件警报
- Java web中使用Log4j记录日志信息
- java日志信息 log4j 使用方法
- 使用jdbc来保存log4j日志信息的一个例子
- 使用log4j2打印Log,log4j不能打印日志信息,log4j2不能打印日志信息,log4j和logj2,idea控制台信息乱码(文末)
- 使用commons.logging结合log4j显示调试和日志信息
- 使用log4j将日志写入数据库并发送邮件
- 使用linux命令统计log4j业务日志信息
- 使用Log4J监控系统日志邮件警报
- 使用JDBC保存Log4J日志信息