我们有一个包含两个log4j2.xml
文件的 Web 应用程序:
- 一个在包含特定于 Web 应用的日志记录设置(1(的
WEB-INF/classes
内,以及 - 一个位于
WEB-INF/lib
的依赖项的根目录中,其中包含我们在其他 Web 应用程序中也使用的默认日志记录设置(2(
我的问题是:
- 雄猫如何读取和评估这些文件?
- 它们以什么顺序阅读?
- 是否可以用(1( 覆盖(2(的设置,我该怎么做?
谢谢。
阅读此处的文档,您会发现:
Log4j 允许使用 log4jConfiguration 上下文参数在 web.xml 中指定配置文件。Log4j 将通过以下方式搜索配置文件:
- 如果提供了位置,则将将其作为 servlet 上下文资源进行搜索。例如,如果 log4jConfiguration 包含 "logging.xml",则 Log4j 将在 Web 应用程序的根目录中查找具有该名称的文件。
- 如果未定义位置,Log4j 将在 WEB-INF 目录中搜索以"log4j2"开头的文件。如果找到多个文件,并且存在以"log4j2-name"开头的文件,其中 name 是 Web 应用程序的名称,则将使用它。否则将使用第一个文件。
- 使用类路径和文件 URL 的"正常"搜索序列将用于查找配置文件。
如果我理解正确,这回答了您的所有问题。