简体   繁体   English

使用log4j SMTPAppender将日志发送到电子邮件

[英]Sending log to email using log4j SMTPAppender

I have a Spring Boot application. 我有一个Spring Boot应用程序。 I'm trying to send log to mail using SMTPAppender, but I don't get any mails. 我正在尝试使用SMTPAppender将日志发送到邮件,但没有收到任何邮件。 I've managed to use log4j for ConsoleAppender and RollingFileAppender, so I guess I have log4j added properly, and the file with log4j properties is visible. 我已经设法将log4j用于ConsoleAppender和RollingFileAppender,所以我想我已经正确添加了log4j,并且具有log4j属性的文件可见。

Here is my log4j.properties file: 这是我的log4j.properties文件:

log4j.rootLogger = info, email, stdout, file

log4j.appender.email=org.apache.log4j.net.SMTPAppender
log4j.appender.email.SMTPHost=smtp.google.com
log4j.appender.email.SMTPUsername=xyz@gmail.com
log4j.appender.email.SMTPPassword=abc123
log4j.appender.email.From=xyz@gmail.com
log4j.appender.email.To=xyz@gmail.com
log4j.appender.email.Subject=Log
log4j.appender.email.BufferSize=1
log4j.appender.email.EvaluatorClass=TriggerLogEvent
log4j.appender.email.layout=org.apache.log4j.PatternLayout
log4j.appender.email.layout.ConversionPattern=%m

#------------------------------------------------------------------------------------------

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

#------------------------------------------------------------------------------------------

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=mylog.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

I found a important piece from the documentation about SMTPAppender. 我从有关SMTPAppender的文档中找到了重要的内容。

By default, an email message will be sent when an ERROR or higher severity message is appended. 默认情况下,当附加错误或更高严重性消息时,将发送电子邮件。 The triggering criteria can be modified by setting the evaluatorClass property with the name of a class implementing TriggeringEventEvaluator, setting the evaluator property with an instance of TriggeringEventEvaluator or nesting a triggeringPolicy element where the specified class implements TriggeringEventEvaluator 可以通过以下方式修改触发条件:将evaluatorClass属性设置为实现TriggeringEventEvaluator的类的名称,通过使用TriggeringEventEvaluator的实例设置evaluator属性,或者在指定类实现TriggeringEventEvaluator的位置嵌套nestingPolicy元素

Also, you can't use "smtp.google.com" - it should be smtp.gmail.com You should use GmailSMTPAppender, the details are here - http://www.tgerm.com/2010/05/log4j-smtpappender-gmail-custom.html 此外,您不能使用“smtp.google.com” -它应该是smtp.gmail.com你应该使用GmailSMTPAppender,细节在这里- http://www.tgerm.com/2010/05/log4j-smtpappender -gmail-custom.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM