外置Tomcat启动SpringBoot应用,日志profile功能失效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了外置Tomcat启动SpringBoot应用,日志profile功能失效相关的知识,希望对你有一定的参考价值。

参考技术A 日志profile相关配置如下

在主配置文件 application.properties 中声明profile为dev环境
spring.profiles.active=dev

在 application-dev.properties 文件中指定了日志配置文件为类路径下的log4j2-dev.xml
logging.config=classpath:log4j2-dev.xml

但是项目启动的时候,在 LoggingApplicationListener 中的initializeSystem方法中打断点,发现获取到的loggingConfig属性却不是我们配置的类路径下的log4j2-dev.xml
而是IDEA这个开发工具自带的tomcat插件中的日志配置

出现的问题是, 最后项目使用的log4j2的配置文件是 类路径下的 log4j2.xml , 并不是我指定的 log4j2-dev.xml
当我将 log4j2.xml 改名为 log4j2.xml.bk 时,使用的是 log4j2 默认的配置, 如下图

很是不解,想debug源码,但是不知道该从哪下手,最后去log4j2的官网查了下资料,
官网文档中Configuration章节给出了log4j2的自动配置加载的先后顺序, 大体翻译了一下

找到一种解决方案, 通过jvm参数配置日志文件的方案,
在IDEA tomcat插件中的vm options中配置如下, 然后ok apply

找不到问题的源头,  烦 : (

以上是关于外置Tomcat启动SpringBoot应用,日志profile功能失效的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot中如何使用外置tomcat服务器

SpringBoot配置外部Tomcat项目启动流程源码分析(下)

SpringBoot配置外部Tomcat项目启动流程源码分析(下)

SpringBoot配置外部Tomcat项目启动流程源码分析(上)

SpringBoot配置外部Tomcat项目启动流程源码分析(上)

21springboot——使用外置的tomcat服务器