Log4j2使用SMTPAppender发送日志到邮箱—之三

一、说明
当检测到错误日志时,可能需要进行短信通知功能。使用SMTPAppender可以实现:当出现ERROR级别的日志时发送到邮箱。此处使用了两个qq邮箱模拟了邮件的发送方和接收方,但需要邮箱开通SMTP服务。
二、开通SMTP服务
1.电脑登录邮箱,设置-账户 ,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,然后选择开通POP3/SMTP服务(发送服务端) 和IMAP/SMTP服务(接收端),如下图在这里插入图片描述
注意:开通SMTP时,要把发送者邮箱那一串密码保存一下(我的是ajeejjfgpdasbagh),Xml中会用到。
三、案例
1.Xml配置

 <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
<Appenders>
<!--这个输出控制台的配置 -->
	<Console name="Console" target="SYSTEM_OUT">
		<ThresholdFilter level="trace" onMatch="ACCEPT"
			onMismatch="DENY" />
		<PatternLayout pattern="%d %p [%c{1}:%L] %m%n" />
	</Console>
	<SMTP name="Mail" subject="Error Log" to="17909xxxxx@qq.com" from="132528xxxx@qq.com"
		replyTo="132528xxxx@qq.com" smtpProtocol="smtp" smtpHost="smtp.qq.com"
		smtpPort="25" bufferSize="50" smtpDebug="false" smtpPassword="ajeejjfgpdasbagh"
		smtpUsername="132528xxxx@qq.com">
		<PatternLayout pattern="%d %p [%c{1}:%L] %m%n" />
	</SMTP>
</Appenders>
<Loggers>
	<Root level="error">
		<AppenderRef ref="Mail" />
		<AppenderRef ref="Console" />
	</Root>
</Loggers>
</Configuration>

说明:

<Root level="error">设置告警级别为ERROR时候发送邮件
发送者邮箱为:132528xxxx@qq.com
接收者邮箱为:17909xxxxx@qq.com
服务器host:
	接收邮件服务器:imap.qq.com
	发送邮件服务器:smtp.qq.com
smtpHost:发送邮件服务器(smtp.qq.com)
smtpPort:通信端口号(25)
smtpPassword:发送者的密码,开启SMTP时的那一串密码
  1. 测试代码

     public class TestSocketAppend {
     static Logger log = LogManager.getLogger(TestSocketAppend.class);
    
     	public static void main(String[] args) {
     		String str = "when life is a hard game dont you blame!!when 						life is a hard game dont you blame!!";
     		int num=0;
     		while (true) {
     			log.info(str);
     			log.info(str);
     			System.out.println(11);
     			log.error(str);
     			try {
     				Thread.sleep(100);
     					} catch (InterruptedException e) {
     				e.printStackTrace();
     		}
     	}
     }
     }
    

3.需要额外导入mail.jar和activation.jar
https://download.csdn.net/download/qq_28091033/10799735

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值