SpringBoot攻略十、日志记录logback

SpringBoot默认使用LogBack日志系统,LogBack默认将日志打印到控制台上。
默认情况下会记录ERROR-level,WARN-level和INFO-level消息。

启用调试模式,会打印很多无用信息,一般不设置:
application.properties配置debug=true

如何输出日志到文件

application.properties配置如下:
logging.path=D:/log
logging.file=springboot.log
注意:
在windows下不会在D:/log下创建springboot.log,而是在项目根目录下创建 springboot.log。

如果想要在D:/log创建怎么办呢?
我们只需要设置logging.file=D:/log/springboot.log,logging.path无需做任何设置。

logging.file.max-size
设置文件大小,默认为10M,达到限制后会切换一个新文件。
logging.file.max-history
以前日志文件归档大小,只保留多久或多大的日志,如果不设置就会无限期归档。
logging.file.total-size-cap
日志归档的总大小,当日志存档的总大小超过该阈值时,将删除备份。

如何设置日志级别

日志级别总共有TARCE < DEBUG < INFO < WARN < ERROR < FATAL ,且级别是逐渐提供, 如果日志级别设置为INFO,则意味TRACE和DEBUG级别的日志都看不到。

Spring Boot默认级别就是INFO。

applicaition.properties配置(logging.level配置日志级别):
logging.level.root=INFO
root:即项目的所有日志。

使用package级别
logging.level.druid.sql=DEBUG

如何定制日志格式

logging.pattern.console=
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg%n
logging.pattern.file=
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg%n

%d{yyyy-MM-dd HH:mm:ss.SSS}——日志输出时间
%thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用
%-5level——日志级别,并且使用5个字符靠左对齐
%logger——日志输出者的名字
%line——行号
%msg——日志消息
%n——平台的换行符

自定义日志配置

logback:默认加载logback-spring.xml,logback-spring.groovy,logback.xml,或者 logback.groovy;
Log4j: 默认加载log4j-spring.xml,log4j.xml;
JDK: 默认加载logging.properties,都是类路径下。

如果需要自定义文件:
logging.config=classpath:conf/xml/logback.xml # 用于配置外部logback.xml

实例logback-spring.xml(推荐)



    
    
    
    
    
    
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %n
        
    

    
    
        
        
            ${LOG_HOME}/app.%d{yyyy-MM-dd}.%i.log
            
            60
            
            
                
                100MB
            
        
         
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %n
        
    
    
    
    
        
        
            ${LOG_ERROR_HOME}/app.error.%d{yyyy-MM-dd}.%i.log
            
            60
            
            
                
                100MB
            
        
         
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %n
        
        
            ERROR
            ACCEPT
            DENY
        
    
    
    
    
        
        
    
    
    
        
    
    
    
        
        
        
    

你可能感兴趣的:(SpringBoot攻略十、日志记录logback)