logback浅析


1.默认使用

spring-boot-start-web的依赖结构

maven依赖web即可


   org.springframework.boot
   spring-boot-starter-web

启动项目就可以看到控制台打印的日志(不需要任何配置)

2.自定义logback配置文件

命名规则: logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback- spring.xml的日志配置文件,spring boot可以为它添加一些spring boot特有的配置项 https://blog.csdn.net/qq_23483671/article/details/105921858

2.1 yml可配置项

logging:
 config: classpath:logback-spring.xml
 logback:
   rollingpolicy: # 全局配置 可在xml对每个滚动策略单独配置
     file-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%i.log # linux 可以使用.gz结尾
     clean-history-on-start: false # 项目启动时是否删除之前的日志
     max-file-size: 10MB # 单个日志文件最大使用空间
     total-size-cap: 0B # 所有日志文件最大使用空间(单个滚动策略中)
     max-history: 7 # 保留归档个数

鼠标悬停可查看默认值

配置项详细解释可参考此处:https://blog.csdn.net/u012723183/article/details/107685109

2.2spring-boot xml 参考

spring-boot定义了以下四个可import的xml(搜索文件名称即可定位到文件所在位置)

defaults.xml
console-appender.xml
file-appender.xml
base.xml
2.2.1 defaults.xml
<?xml version="1.0" encoding="UTF-8"?>




   
   
   
   

   
   
   
   
   

   
   
   
   
   
   
   
   
   

2.2.2 console-appender.xml
<?xml version="1.0" encoding="UTF-8"?>





   
   	
   		${CONSOLE_LOG_PATTERN}
   		${CONSOLE_LOG_CHARSET}
   	
   

2.2.3 file-appender.xml
<?xml version="1.0" encoding="UTF-8"?>




   
   
   	
   		${FILE_LOG_PATTERN}
   		${FILE_LOG_CHARSET}
   	
   	
   	${LOG_FILE}
   	
   	
   		${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz}
   		${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}
   		${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}
   		${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}
   		${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-7}
   	
   

2.2.4 base.xml
<?xml version="1.0" encoding="UTF-8"?>




   
   
   
   
   
   
   
   	
   	
   

2.3 根据spring-boot的xml 写自己的xml

其中logback-xml文件夹下的xml可以分为三类
defaults.xml 定义一些基础属性 直接复制spring-boot即可
console-appender.xml 打印到控制台 直接复制spring-boot即可
debug-file-appender.xml error-file-appender.xml info-file-appender.xml 匹配不同级别的日志滚动追加到文件中

截取debug-file-append.xml说明

<?xml version="1.0" encoding="UTF-8"?>




   
   
   	
   	
   		DEBUG
   		ACCEPT
   		DENY
   	

   	
   		${FILE_LOG_PATTERN}
   		${FILE_LOG_CHARSET}
   	

   	
   		
   		${LOG_FILE}/%d{yyyy-MM-dd,aux}/debug/%d{yyyy-MM-dd-HH}.%i.log
   		${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}
   		${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}
   		${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}
   		${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-7}
   	
   

error-file-appender.xml
info-file-appender.xml 以下属性修改为不一样即可

  • appender name
  • filter level
  • rollingPolicy fileNamePattern

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>

   

   
   
   
   
   

   
   
       
           
           
           
           
           
       
   

   
       
           
           
           
           
       
   

2022-03-03 15:53:53 星期四