【问题标题】:setting up environment specific log4j2 with spring boot 1.4.2使用 Spring Boot 1.4.2 设置特定于环境的 log4j2
【发布时间】:2018-03-22 09:12:17
【问题描述】:

我正在尝试为 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 时,它不会给出错误。

【问题讨论】:

    标签: xml spring spring-boot yaml log4j2


    【解决方案1】:

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

    这是有效 log4j-2 配置文件名的 sn-p。
    请注意,顺序很重要:

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

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

    .......

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

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

    你说:

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

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

    【讨论】:

    • 我的应用程序中确实有配置文件。你能给我一个如何在配置文件中配置日志记录级别的例子吗? Application.properties 文件包含配置文件设置。
    猜你喜欢
    • 2014-09-07
    • 2021-05-12
    • 1970-01-01
    • 2016-12-16
    • 2018-01-20
    • 2016-08-08
    • 2017-09-07
    • 2013-08-16
    • 1970-01-01
    相关资源
    最近更新 更多