log4j/logback 错误日志发送邮件的配置
log4j 发送邮件的配置
第一步:引入相关的jar
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
第二步:log4j.xml的相关配置
log4j.rootLogger=info,MAIL
#==========================================#
### error日志通过email发送邮件 ###
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
# 发送的级别
log4j.appender.MAIL.Threshold=ERROR
log4j.appender.MAIL.BufferSize=10
# 发送的邮箱名
log4j.appender.MAIL.From=fangyuli@*****.com
# 这是邮箱协议根据自己的邮箱决定
log4j.appender.MAIL.SMTPHost=imap.exmail.qq.com
# 发送人
log4j.appender.MAIL.SMTPUsername=fangyuli@*****.com
#发送人的密码
log4j.appender.MAIL.SMTPPassword=*****
# 发送邮件是否debug输出日志
log4j.appender.MAIL.SMTPDebug=false
# 邮件主题格式[环境][应用名称] is error
log4j.appender.MAIL.Subject=[${profiles.active}][as-web] is error
# 接收人
log4j.appender.MAIL.To=fangyuli@*****.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=%d - %c -%-4r[%t]%-5p %c %x -%m%n
#发送邮件的时间间隔,单位:1800秒
log4j.appender.MAIL.SendMailInterval=1800
#==========================================#
注:log4j 发送邮件为同步发送,所以错误日志过得会导致系统阻塞,可能会影响系统的正常访问,谨慎使用!
logback 发送邮件的配置
第一步:引入相关的jar
<!--logback error 发邮件-->
<dependency>
<groupId>janino</groupId>
<artifactId>janino</artifactId>
<version>2.5.10</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
第二步:logback.xml 的配置
<appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
<!--smtp 服务器-->
<smtpHost>imap.exmail.qq.com</smtpHost>
<!--port-->
<smtpPort>25</smtpPort>
<!--发件人的邮箱-->
<username>fangyuli@huashenghaoche.com</username>
<!--发件人的邮箱密码-->
<password>******</password>
<SSL>false</SSL>
<!--是否异步-->
<asynchronousSending>false</asynchronousSending>
<!-- 发给谁的邮件列表,多个人用逗号分隔 -->
<to>fangyuli@*****.com</to>
<!--发件人,添加邮箱和上面的username保持一致-->
<from>fangyuli@*****.com</from>
<subject>[@activatedProfile@][as-server] is error</subject>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${LOG_FORMAT_PATTERN}</pattern>
</layout>
<!--过滤器-->
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator class="ch.qos.logback.classic.boolex.JaninoEventEvaluator">
<expression>
<!-- & encoded as & -->
if(level > WARN ) {
return true;
}
return false;
</expression>
</evaluator>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<root level="@log.level@">
<appender-ref ref="@log.print.type@"/>
<!-- log error send EMAIL -->
<appender-ref ref="EMAIL"/>
</root>
大功告成,根据自己的项目使用的日志框架选择配置error发送email信息,第一时间知道系统错误信息!