使用spring boot 1.4.2设置特定于环境的log4j2

时间:2017-10-10 20:38:32

标签: xml spring spring-boot yaml log4j2

我正在尝试为spring boot(1.4.2)应用程序设置log4j2日志记录。 我想要创建特定于环境的log4j2文件。 我的设置看起来像 在application.yml文件中

logging:
    config: classpath:log4j2_qa.xml

我已经创建了log4j2_qa.xml。 application.yml和loq4j2_qa.xml文件都在src / main / resources下。当我运行应用程序时,我收到以下错误

  

ERROR StatusLogger找不到log4j2配置文件。使用默认配置:仅将错误记录到控制台。

当我将log4j2_qa.xml重命名为log4j2.xml时,它不会给出错误。

1 个答案:

答案 0 :(得分:0)

log4j2_qa.xml不是be recognized and discoverable by log4j-2的有效log4j-2配置文件名  但是log4j2.xml是。

以下是有效log4j-2配置文件名的片段。
请注意,订单很重要:

  
      
  1. Log4j将检查" log4j.configurationFile"系统属性,如果设置,将尝试使用   与文件扩展名匹配的ConfigurationFactory。

  2.   
  3. 如果未设置系统属性,ConfigurationFactory属性将在类路径中查找log4j2-test.properties。

  4.         

    ................

         
        
    1. 如果找不到JSON文件,XML ConfigurationFactory将尝试   在类路径上找到 log4j2.xml

    2.   
    3. 如果找不到配置文件,将使用DefaultConfiguration 。这将导致日志记录输出进入控制台。

    4.   

你说:

  

我想创建特定于环境的log4j2文件

Spring Boot profiles旨在实现这一目标。 这甚至是他们的主要角色 qa个人资料有意义。