Log4j failing to send an email when logging an error(Log4j 在记录错误时无法发送电子邮件)
问题描述
我在我的应用程序中启用了日志记录,并且我想通过电子邮件(gmail 帐户)发送日志错误.我:
- 设置一个 java 项目
- 添加activation.jar、log4j.java和mail.jar(java邮件)
- 我将这些库添加到项目类路径中
- 我添加了 log4j.properties 并像这样配置它:
<上一页>log4j.rootLogger=主记录器、电子邮件、目的地log4j.appender.mainlogger=org.apache.log4j.ConsoleAppenderlog4j.appender.mainlogger.target=System.outlog4j.appender.mainlogger.layout=org.apache.log4j.PatternLayoutlog4j.appender.mainlogger.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %p %-4r [%t] %-5p %c %x - %m%nlog4j.appender.dest=org.apache.log4j.FileAppenderlog4j.appender.dest.File=log.loglog4j.appender.dest.layout=org.apache.log4j.PatternLayoutlog4j.appender.dest.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %p %-4r [%t] %-5p %c %x - %m%n
配置 SMTP 附加程序
log4j.appender.Email=org.apache.log4j.net.SMTPAppenderlog4j.appender.Email.BufferSize=512log4j.appender.Email.Threshold=错误log4j.appender.Email.SMTPHost=smtp.gmail.comlog4j.appender.Email.SMTPUsername=我的用户名log4j.appender.Email.SMTPPassword=我的密码log4j.appender.Email.From=myemail@gmail.comlog4j.appender.Email.To=myotheremail@gmail.comlog4j.appender.Email.Subject=错误报告log4j.appender.Email.layout=org.apache.log4j.PatternLayoutlog4j.appender.Email.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n没有发生任何事情,没有发送电子邮件,也没有显示错误,我不明白为什么,请对这个主题有任何想法???
Log4J提供的SMTP Appender默认没有设置支持GMail的必要参数.它不会发出 STARTTLS 命令来启动 SMTP 会话.您可以通过以下方式纠正此问题:
- 编写您自己的附加程序以支持将消息发送到 GMail SMTP 服务器.
- 或者,使用 Log4j SMTP Appender for Gmail.免责声明:我没有使用过这个项目.
I enabled logging in my application, and I want to send logs error by email (gmail account). I:
- Set up a java project
- add activation.jar , log4j.java and mail.jar (java mail)
- I added those libraries to the project class path
- I added log4j.properties and I configured it like this :
log4j.rootLogger= mainlogger, Email, dest
log4j.appender.mainlogger=org.apache.log4j.ConsoleAppender
log4j.appender.mainlogger.target=System.out
log4j.appender.mainlogger.layout=org.apache.log4j.PatternLayout
log4j.appender.mainlogger.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %p %-4r [%t] %-5p %c %x - %m%n
log4j.appender.dest=org.apache.log4j.FileAppender
log4j.appender.dest.File=log.log
log4j.appender.dest.layout=org.apache.log4j.PatternLayout
log4j.appender.dest.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %p %-4r [%t] %-5p %c %x - %m%n
Configuring the SMTP appender
log4j.appender.Email=org.apache.log4j.net.SMTPAppender
log4j.appender.Email.BufferSize=512
log4j.appender.Email.Threshold=ERROR
log4j.appender.Email.SMTPHost=smtp.gmail.com
log4j.appender.Email.SMTPUsername=myusername
log4j.appender.Email.SMTPPassword=mypassword
log4j.appender.Email.From=myemail@gmail.com
log4j.appender.Email.To=myotheremail@gmail.com
log4j.appender.Email.Subject=Error Report
log4j.appender.Email.layout=org.apache.log4j.PatternLayout
log4j.appender.Email.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
There is nothing that happened no email sent and no error shown , and I do not understand why, Please any idea about that topic ???
The SMTP Appender provided by Log4J does not setup the necessary parameters to support GMail by default. It does not issue the STARTTLS command to initiate a SMTP session. You could rectify this by:
- Either writing your own appender to support sending of messages to the GMail SMTP server.
- Or, by using the Log4j SMTP Appender for Gmail. Disclaimer: I haven't used this project.
这篇关于Log4j 在记录错误时无法发送电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Log4j 在记录错误时无法发送电子邮件
基础教程推荐
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- 存储 20 位数字的数据类型 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- RabbitMQ:消息保持“未确认"; 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- Struts2 URL 无法访问 2022-01-01
