Java实战04之 springboot 整合logback 打印日志,分文件

目录

前言:

一、pom.xml配置

二、application.yml 配置

三、logback.xml 配置

四、测试类

五、常见问题:

1、mybatis 的sql 日志无法打印

2、mybatis 打印了sql的结果集明细

六、日志按照业务类别打印不同文件

1、logback.xml 

2、测试类 

3、启动项目

4、注解 + logger.getname 一起用  


前言:

接着上面实战03讲,这次我们采用springboot自带的日志打印方式-logback 来打印日志

一、pom.xml配置

因为是springboot自带的日志方式,所以不需要添加依赖

二、application.yml 配置

因为是springboot自带的日志方式,所以不需要添加logback.xml 路径,当然如果你非要加也可以

logging:
  config: classpath:logback.xml

三、logback.xml 配置



    
    
    
    
    
        
            
            
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%-40.40logger{39}] : %m%n
        
    

    
    
        ${LOG_HOME}/all-logger.log
        
            
            ${LOG_HOME}/${all-logger}.log.%d{yyyy-MM-dd}.%i
            
            30
            
                250MB
            
        
        
            
            
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%-40.40logger{39}] : %m%n
            utf8
        
    

    

    
    
        
        
    

四、测试类

因为自带的日志方式,所以可以直接使用注解,@slf4j, 这样就方便很多

Java实战04之 springboot 整合logback 打印日志,分文件_第1张图片

启动项目

控制台:

Java实战04之 springboot 整合logback 打印日志,分文件_第2张图片

 日志:

五、常见问题:

1、mybatis 的sql 日志无法打印

那是因为确实打印的指定的包,因为我们需要打印所有包的sql,所以直接配置一个最大的包

2、mybatis 打印了sql的结果集明细

那是因为日志基本写成了dubug


    
    

Java实战04之 springboot 整合logback 打印日志,分文件_第3张图片

这样就会打印结果集的全部明细,日志量会异常庞大,一般我们只需要打印INFO级别就可以了。

六、日志按照业务类别打印不同文件

1、logback.xml 



    
    
    
    
        
            
            
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%-40.40logger{39}] : %m%n
        
    

    
    
        ${LOG_HOME}/alllogger.log
        
            
            ${LOG_HOME}/alllogger.log.%d{yyyy-MM-dd}.%i
            
            30
            
                250MB
            
        
        
            
            
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%-40.40logger{39}] : %m%n
            utf8
        
    

    
        ${LOG_HOME}/taskaction.log
        
            
            ${LOG_HOME}/taskaction.log.%d{yyyy-MM-dd}.%i
            
            30
            
                250MB
            
        
        
            
            
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%-40.40logger{39}] : %m%n
            utf8
        
    

    
    

    
    
        
        
    

    
    
        
    

    
        
    

ALLACTION 打印默认的日志, 
TASKACTION 打印任务类型的日志

2、测试类 

Java实战04之 springboot 整合logback 打印日志,分文件_第4张图片

直接通过logger name 来打印自定义的业务日志, logger的配置就是LoggerFactory需要的模板,只有配置了工厂获取才会生效。

3、启动项目

控制台

 alllogger 文件

Java实战04之 springboot 整合logback 打印日志,分文件_第5张图片

taskaction 文件

 

可以看到控制台并没有打印 自定义的业务日志,如果要打印,需要在自定义工厂里面加上控制台输出。



    
    



    
    

再次启动项目

Java实战04之 springboot 整合logback 打印日志,分文件_第6张图片

4、注解 + logger.getname 一起用  

因为注解方式打印的就是默认的日志文件,但是我们如果还要打印任务日志怎么办呢,这时就可以结合使用。

测试类

Java实战04之 springboot 整合logback 打印日志,分文件_第7张图片

启动项目。

控制台

Java实战04之 springboot 整合logback 打印日志,分文件_第8张图片

 allaction默认日志

Java实战04之 springboot 整合logback 打印日志,分文件_第9张图片

taskaction

 

 

以上就是最全的logback 打印日志的方式了。

如果觉得对你有帮助的话欢迎点赞关注哦

你可能感兴趣的:(java-实战应用,java,spring,boot,logback)