部署战争中缺少SpingBoot日志文件(tomcat)

时间:2017-07-17 08:04:26

标签: tomcat spring-boot

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

我调查了很多问题和答案,发现一个tomcat LOG覆盖了默认配置,但是我没有找到解决问题的方法。

这是我的日志配置

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

1 个答案:

答案 0 :(得分:0)

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

你可以打破

org.springframework.boot.logging.LoggingApplicationListener#initializeSystem

进入String logConfig = environment.getProperty(CONFIG_PROPERTY);

然后你就可以找到原因。

要解决此问题,您可以运行System.setProperty("loggin.config", "you log file")来覆盖tomcat的logging.properties