当我们把spring Boot 2.7应用程序部署到生产环境中时,它在阅读正确的日志配置时遇到了问题,它没有使用prod配置文件中的配置文件,而是从类路径中选择了一个与测试相关的资源。
$ java -Dspring.profiles.active=prod service.jar
service.jar!/BOOT-INF/classes!/logback-test.xml]
12:13:29,834 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@23ab930d - URL [jar:file:/home/x/service.jar!/BOOT-INF/classes!/logback-test.xml] is not of type file
12:13:29,865 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
应用程序-产品yml
logging:
config: /home/x/service/config/logback-prod.xml
jar在类路径中包含这些文件(log4j不应该在那里,我们删除了这个依赖项,并且我们依赖于默认的SLF 4J):
$ ls log*
log4j2.xml log4j2-prod.xml log4j2-test.xml logback.xml logback-prod.xml logback-test.xml
应用程序正在使用除logging.config
选项之外的生产配置文件。为什么?
1条答案
按热度按时间dgiusagp1#
解决方案是从构建中删除日志配置文件,因为Spring总是读取这些文件。