部署的war(tomcat)中缺少SpingBoot日志文件

部署的war(tomcat)中缺少SpingBoot日志文件,tomcat,spring-boot,Tomcat,Spring Boot,当我使用java-jar命令运行时,我的日志配置生效了。但是当我部署到外部tomcat容器时,我发现我的日志配置无效,日志文件丢失 我查看了很多问题和答案,发现tomcat日志覆盖了默认配置,但我没有找到解决问题的方法 这是我的日志配置 logging.config=classpath:config/logging-config.xml logging.path=src/main/resources/log 在外部tomcat中运行时会发生这种情况,因为tomcat将在系统环境中设置loggi

当我使用
java-jar
命令运行时,我的日志配置生效了。但是当我部署到外部tomcat容器时,我发现我的日志配置无效,日志文件丢失

我查看了很多问题和答案,发现tomcat日志覆盖了默认配置,但我没有找到解决问题的方法

这是我的日志配置

logging.config=classpath:config/logging-config.xml
logging.path=src/main/resources/log

在外部tomcat中运行时会发生这种情况,因为tomcat将在系统环境中设置logging.config属性,并覆盖spring默认的logging.config上下文文件

你可以破门而入

org.springframework.boot.logging.LoggingApplicationListener#initializeSystem
进入
字符串logConfig=environment.getProperty(CONFIG\u属性)

然后你就能找到原因

要解决这个问题,您可以运行
System.setProperty(“loggin.config”,“您的日志文件”)
来覆盖tomcat的loggin.properties