Log4j2 SMTPAppender 配置与使用

来源:互联网 发布:有什么人工智能机器人 编辑:程序博客网 时间:2024/06/05 09:07

大纲:

  • 官网配置信息
  • 实际使用

一、官网配置信息

官网SMTPAppender配置

<?xml version="1.0" encoding="UTF-8"?><Configuration status="warn" name="MyApp" packages="">  <Appenders>    <SMTP name="Mail" subject="Error Log" to="errors@logging.apache.org" from="test@logging.apache.org"          smtpHost="localhost" smtpPort="25" bufferSize="50">    </SMTP>  </Appenders>  <Loggers>    <Root level="error">      <AppenderRef ref="Mail"/>    </Root>  </Loggers></Configuration>

二、实际使用

功能:当输出的日志级别为 error 级别以上时,就像某邮箱发送日志通知

邮件内容效果如下:
邮件内容

配置前准备:
1. 需要有一个启动了 smtp 协议的 邮箱账号;
2. 导入必须的 jar 包;

我的配置

<?xml version="1.0" encoding="UTF-8"?><Configuration status="warn">  <Appenders>    <SMTP name="Mail" subject="Error Log" to="XXXXX@qq.com" from="XXXXX@163.com" replyTo="XXXXX@163.com"          smtpProtocol="smtp" smtpHost="smtp.163.com" smtpPort="25" bufferSize="50" smtpDebug="false"          smtpPassword="password" smtpUsername="XXXXX@163.com">    </SMTP>  </Appenders>  <Loggers>    <Root level="error">      <AppenderRef ref="Mail"/>    </Root>  </Loggers></Configuration>

SMTP配置说明

属性 说明 name appender 的名称 subject 邮件标题 to 收件人列表,以逗号隔开 7xxx@qq.com,1234@163.com from 发件人 smtpProtocol 协议,默认为 smtp smtpHost 服务器 例:smtp.163.com smtpPort 端口 smtpPassword 密码 smtpUsername 用户名


我遇到的问题:

1、没有导入activation.jar,mail.jar 这两个jar包,所曝出的错:

2016-06-22 15:45:48,860 ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.SmtpAppender for element SMTP. java.lang.reflect.InvocationTargetException   ......Caused by: java.lang.NoClassDefFoundError: javax/mail/MessagingException    at org.apache.logging.log4j.core.appender.SmtpAppender.createAppender(SmtpAppender.java:142)    ... 34 moreCaused by: java.lang.ClassNotFoundException: javax.mail.MessagingException    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)    ... 35 more

2、没有正确填写 smtpUsername 导致的问题

2016-06-22 15:52:54,275 ERROR Error occurred while sending e-mail notification. com.sun.mail.smtp.SMTPSendFailedException: 553 authentication is required,163 smtp13,EcCowABXrbLaQ2pXI8GrBQ--.536S2 1466581979
1 0
原创粉丝点击