Spring Boot 项目 Logback 配置文件命名问题
起因
今天在把一个老项目从 war 改成 jar,顺带按照架构部要求升级到 Spring Boot 2。按照他们给的文档,把 Logback 配置文件名称修改成了 logback-spring.xml
,之后再重启项目,看日志输出路径以及日志名称,怎么看怎么对不上。
logback-spring 配置文件中指定的日志名是 curriculum-gateway.log
和 curriculum-gateway-error.log
,左边 xx-monitor-service.log
又是什么鬼?
问题分析
首先就是全局搜索 monitor 关键字,只是在 pom 文件中发现了个 jar 包名称带 monitor,之后就发现 Spring Boot 用了这个 jar 包里的 logback.xml 配置文件。之前留意过 Spring Boot 官方文档中有关 Logback 配置的描述,再看一下
最后又搜了一下,在这个回答中找到了答案,stackoverflow
If spring boot doesn’t find any logback configurations (“logback-test.groovy”, “logback-test.xml”, “logback.groovy”, “logback.xml”) on the classpath, logback-spring.xml will be picked up.
总结
Spring Boot 会在 classpath 下查找是否有 jar 包,包含 logback-test.groovy
、logback-test.xml
、logback.groovy
或者 logback.xml
,如果都找不到的话,才会加载项目路径下的 logback-spring.xml
。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步