springMVC配置log4j2.xml发送error日志邮件
2021-01-06 18:28
标签:err jar group 配置 springmvc ima nbsp 全局异常处理 ack 先引入jar包 log4j2.xml配置,放入 appenders 标签里面 这里说下 smtpPassword不是你邮箱密码, qq邮箱上方设置--》账户, 拉到下方,把什么IMAP POP3 管他是啥都开启, 然后生成授权码,就是smtpPassword的值 再在log4j2.xml 文件加上 还有个问题,怎么控制邮件频率, 不能频繁发,太频繁在一段时间内只要发邮件就会报错。 springMVC配置log4j2.xml发送error日志邮件 标签:err jar group 配置 springmvc ima nbsp 全局异常处理 ack 原文地址:https://www.cnblogs.com/tmxk-qfzz/p/12968291.html dependency>
groupId>javax.activationgroupId>
artifactId>activationartifactId>
version>1.1.1version>
dependency>
dependency>
groupId>javax.mailgroupId>
artifactId>mailartifactId>
version>1.4.7version>
dependency>
SMTP name="Mailer" subject="错误日志" to="1030872042@qq.com" from="1030872042@qq.com" smtpHost="smtp.qq.com" timeOut="1000" smtpDebug="false" smtpUsername="1030872042" smtpPassword="spcggsezcwdxbehh" bufferSize="1024">
ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
SMTP>
Async name="AsyncMailer" > AppenderRef ref="Mailer"/> Async>
这句
基本完事,注意:邮件只会发送log.error()输出的内容,而且邮箱的邮件 不是随便发的 有数量限制,比如每天上限,每分钟上限多少封,超了直接就报错,连接被拒绝,这么一限制感觉没啥意思了。
这里引出来一个问题,比如我想警告的异常是那种我根本不知道的,未知的运行时异常,怎么办呢? 比如什么sql执行的异常,空指针什么的,我要是知道我也不会打印什么log.error啊 我直接处理了。
这就扯出来 全局异常处理了,@RestControllerAdvice @ExceptionHandler
直接我就再里面来了这么个方法,别说还真可以, 随便找个方法来个 1/0, 邮件到位。 但是总感觉不对,我不能啥异常都抓啊,还是得细分指定异常,而且我只想检测某个service,这怎么整?
就想到一个东西@Aspect, 直接写个切面类,来个@AfterThrowing, 这玩意是不是比上面那个好用? @AfterThrowing(throwing="ex", pointcut="execution(* pdream.demo.service.impl.*.*(..))")
public void doRecoveryActions(Throwable ex) {
System.out.println("目标方法中抛出的异常:" + ex);
log.error("异常来了...");
}
文章标题:springMVC配置log4j2.xml发送error日志邮件
文章链接:http://soscw.com/index.php/essay/40525.html