发送log4j/logback 错误日志到邮件的配置

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 &amp; -->
                    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信息,第一时间知道系统错误信息!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值