• 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

  • 相关阅读:
    hive 导入数据的5种方式
    uniapp 阿里图库图标引用
    读<算法图解><笔记摘录>
    uniapp开发H5微信公众号,使用微信的扫一扫等Api试错
    vscode json文件添加注释报错
    初探CSS 中篇
    嵌入式开发环境之uboot
    MySQL事务日志--redo, undo详解
    适合学生党的蓝牙耳机有哪些?学生党蓝牙耳机推荐
    矩阵连乘问题(区间DP)
  • 原文地址:https://blog.csdn.net/tangfeng61/article/details/134067776