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 星期四