当我使用java -jar
命令运行时,我的LOG配置生效。但是当我部署到外部tomcat容器时,我发现我的LOG配置没有生效,LOG文件丢失了。
这是我的日志配置
logging.config=classpath:config/logging-config.xml
logging.path=src/main/resources/log
答案 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