SpringBoot 配置Slf4J自动发送ERROR级别日志到邮箱

最近在学习微服务框架Spring Cloud,把自己小项目中的邮件相关模块拆分出来单独构建了一个通知中心微服务,以后发送邮件,扩展短信通知等就可以在这个微服务中单独扩展了。

本来想着把系统异常也作为消息发送给通知中心微服务,但是感觉代码会很繁琐,虽然SpringBoot有统一异常管理方式,但也并不是真的所有异常都能通过这种方式处理。

然后发现slf4j可以通过配置xml配置增加appender来将ERROR级别的日志发送给指定的邮箱。

如下是完整的配置





    logback

    
    
    
    
    
    
    
    
    

    
        
        
            UTF-8
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} -
                %msg%n
        
    
    
        ${log.path}/server.log
        
            ${log.path}/server_%d{yyyy-MM-dd}.%i.log
            
            
                10MB
            
            10
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level - %msg%n
        
    

    
        ${log.path}/transaction.log
        
            ${log.path}/transaction_%d{yyyy-MM-dd}.%i.log
            
            
                10MB
            
            10
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level - %msg%n
        
    

    
        ${smtpHost}
        ${smtpPort}
        ${username}
        ${password}
        true
        true
        ${mailTo}
        ${mailFrom}
        ${appName}-[ERROR]
        
        
            ERROR
        
    


    
        
        
        
    
    
        
        
        
        
    
    
        
        
        
    

    
        
        
        
    


主要涉及到的配置如下。通过springProperty来引用application.properties中配置的邮箱配置。












        ${smtpHost}
        ${smtpPort}
        ${username}
        ${password}
        true
        true
        ${mailTo}
        ${mailFrom}
        ${appName}-[ERROR]
        
        
            ERROR
        
    
SpringBoot 配置Slf4J自动发送ERROR级别日志到邮箱_第1张图片
image.png

如下图是收到邮件的效果图,还不错吧,哈哈,都给格式化好了

SpringBoot 配置Slf4J自动发送ERROR级别日志到邮箱_第2张图片
image.png

你可能感兴趣的:(SpringBoot 配置Slf4J自动发送ERROR级别日志到邮箱)