服务器error日志自动发送至开发者邮箱
项目上有很多报错信息不能及时通知开发者,现在让错误日志自动发送开发者邮箱,易于发现问题与排查错误。本文日志用的是logback
首先添加邮箱依赖
<!-- 邮件依赖 -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
然后添加在logback中添加
<property name="CONSOLE_LOG_PATTERN" value="%date{HH:mm:ss.SSS} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n"/>
<property name="smtpHost" value="smtp.126.com" /> <!-- 邮箱stmp 需要去邮箱里设置开启stmp-->
<property name="username" value="shanshuiko@126.com" /> <!-- 发送者的邮箱 -->
<property name="password" value="********" /> <!-- 发送者邮箱密码 -->
<property name="email_to" value="shanshuiko@126.com,18602567026@163.com" /> <!-- 接收者的邮箱 -->
<property name="SSL" value="true" />
<property name="email_subject" value="URM预警" /> <!-- 邮件标题 ->
具体配置已在代码中注释,发送多人则多人邮箱用逗号隔开
<appender name="email" class="ch.qos.logback.classic.net.SMTPAppender">
<smtpHost>${smtpHost}</smtpHost>
<Username>${username}</Username>
<Password>${password}</Password>
<SSL>${SSL}</SSL>
<to>${email_to}</to>
<from>${username}</from>
<subject>${email_subject}</subject>
<asynchronousSending>true</asynchronousSending>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%date %X{ip} %-5level %logger{35} - %message%n</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
定义email,经测试filter不加也会输出错误日志
<root level="INFO">
<appender-ref ref="email"/>
</root>
最后将email放入root
测试!!!


浙公网安备 33010602011771号