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 在记录错误时无法发送电子邮件


- Eclipse 的最佳 XML 编辑器 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- 获取数字的最后一位 2022-01-01
- 转换 ldap 日期 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01