1、普通的Spring项目使用logback默认用properties文件做为配置变量。
2、如果非要用yaml文件,那么可以转成Spring Boot项目,天生无缝结合
3、没办法,如果项目配置文件用了yaml,那么你的logback只能自己另开properties文件进行单独配置
以下是基于Spring Boot的yaml配置文件示例:
application.yml:
# 日志配置 为空为项目跟目录下的logs 或者指定已经存在的目录log: path: /data/weblog/business/www.test.com
logback-spring.xml:
${LOG_HOME}/${SRVNAME}.log ${LOG_BACK_HOME}/%d{yyyy-MM-dd}/${SRVNAME}.%d{HH}.%i.log.gz ${maxFileSize} ${maxHistory} ${totalSizeCap} %d{yyyyMMdd HH:mm:ss.SSS} %X{LOG_ID} [%thread] %-5level %logger{100}.%method\(\):%L - %msg%n %boldCyan(%d{yyyy-MM-dd HH:mm:ss.SSS}) - %boldRed(%5p) %blue([%10.10t]) %magenta(%-35.35logger{20}) %yellow(%2M) %green(%2L) : %msg%n
4、如果你非要用yaml文件,那么只能使用绝对路径,例如:
logback-spring.xml引入文件:
application.yaml:
LOG_FILE : C:/logs
logback-spring.xml使用:
${LOG_FILE} ...
logback-spring.xml增加扫描时间:
参考: