spring-boot-2.7.18 依靠 org.slf4j.impl.StaticLoggerBinder,而 logback 1.3.x 没有该类
日志没有写入文件wilkinsona 诚不欺我!
编译期间,完成slf4j的绑定以及logback配置文件的加载。slf4j会在classpath中寻找org/slf4j/impl/StaticLoggerBinder.class(会在具体的日志框架如log4j、logback等中存在),找到并完成绑定;同时,logback也会在classpath中寻找配置文件,先找logback.configurationFile、没有则找logback.groovy,若logback.groovy也没有,则找logback-test.xml,若logback-test.xml照旧没有,则找logback.xml,若连logback.xml也没有,那么说明没有配置logback的配置文件,那么logback则会启用默认的配置(日志信息只会打印在控制台)虽说 Logback 是 1.1.17,而不是 1.3.14,但对配置文件的加载应该是没变的
大家注意看我的措辞:应该,这样纵然变了,你们也不能说我,因为我说的是应该这也是为什么配置文件是 logback.xml 的时间,日志能正常写入文件,而是 logback-spring.xml 时间,日志不能写入日志文件的原因,因为 Logback 不认 logback-spring.xml,Spring Boot 才认!
保险起见,你们应该去看下 1.3.14 的源码!
System.setProperty("org.springframework.boot.logging.LoggingSystem", "none");启动时不报错的,再结合 logback.xml,日志是可以或许正常写入日志文件的;但是保险起见,照旧不保举升级到 Logback 1.3.x
能不动就不要动,改好没绩效,改出问题要背锅,吃力不讨好,又不是不能跑如果一定要升级,那就做好全量测试,把所有业务场景都覆盖到
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |