sprinbboot 2.7启动不生成日志文件

新增了一个springboot项目,通过idea 调试,并且在idea 的vm options中指定-Dlogging.config=classpath:logback-pro.xml  或者 -Dlogging.config=classpath:logback-dev.xml 都能正常生成对应的日志文件。

部署到测试环境以及生产环境,日志文件却没有生成,甚是诡异。

测试环境的部署脚本主要为(其他忽略):

java -jar test.jar -Dlogging.config=classpath:logback-pro.xml

排查了各种原因,各种修改路径,总是在idea 正常,通过上面的命令,就不能生成文件。而且这个配置及整体项目架构,除了springboot 版本升级2.7.x外,和之前的项目架构几乎无差别。

百思不得解时,验证了下不指定,直接在properties文件中配置:

logging.config=classpath:logback-pro.xml 

然后项目打成jar包,执行命令 java -jar test.jar  ,惊喜出现,竟然文件生成了。

继而注释掉这个配置,重新打包还原之前的场景,继续执行这个命令:

java -jar test.jar -Dlogging.config=classpath:logback-pro.xml

问题依旧,于是猜测应该是启动的时候,没加载到指定的配置,试着把-Dlogging.config=classpath:logback-pro.xml 提到 -jar 前,结果也终于达到预期

java -Dlogging.config=classpath:logback-pro.xml -jar test.jar

综述:
解决方案1: 在springboot的 properties 文件或者yml 文件中直接配置

logging.config=classpath:logback-pro.xml

解决方案2:

把所有指定的环境变量,都放在-jar 前面,保证能正常加载

java -Dlogging.config=classpath:logback-pro.xml -jar test.jar

你可能感兴趣的:(pycharm,ide,python)