Log4j2 SMTPAppender 配置与使用

大纲:

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

一、官网配置信息

官网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配置说明

属性说明
nameappender 的名称
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 more
Caused 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值