Log4j2:如何在控制台日志中查找日志记录配置文件是否已找到

Log4j2: How to find out in console logs whether the logging configuration file has been located

我想知道 log4j2 是否找到了我的配置文件或它在查找时遇到的错误。基本上,我想看log4j2自己的日志。

我实际上是在尝试将(非标准)日志文件名和位置放在 web.xml 中,如所述 here 我想知道为什么它没有被提取

这是我的 web.xml

        <context-param>
            <param-name>log4jConfiguration</param-name>
            <param-value>classpath:log4j2-assessment.xml</param-value>
        </context-param>

        <context-param>
            <param-name>isLog4jContextSelectorNamed</param-name>
            <param-value>false</param-value>
        </context-param>

(附加信息:为什么我需要做所有这些是因为我想为我的 log4j2.xml 文件指定一个自定义名称,而我不能在 application.properties 使用 logging.file 属性 因为我有一个自定义名称 application.properties 本身,并且使用自定义名称, logging.file 属性 不是Spring 及时加载日志记录开始)

P.S:如果我不重命名 log4j2.xml 文件,它会毫无问题地被拾取。

I want to see log4j2's own logs.

您可以在 运行 配置的帮助下将记录器的日志记录级别设置为 TRACE:

org.apache.logging.log4j.simplelog.StatusLogger.level=TRACE

来源:here (scroll to "Status Messages")

输出明确显示了搜索的配置文件和位置。 请注意,没有输出,如果成功找到文件,它会在找到文件后立即停止搜索。

为了证明这是有效的,只需添加一个虚拟 log4j2.properties - log4j2 应该在此之后停止搜索任何配置文件,这意味着最后搜索的文件名就是找到的文件名。