log4j2.xml 文件在 tomcat Web 应用程序中的正确位置



我们有一个包含两个log4j2.xml文件的 Web 应用程序:

  • 一个在包含特定于 Web 应用的日志记录设置(1(WEB-INF/classes内,以及
  • 一个位于WEB-INF/lib的依赖项的根目录中,其中包含我们在其他 Web 应用程序中也使用的默认日志记录设置(2(

我的问题是:

  1. 雄猫如何读取和评估这些文件?
  2. 它们以什么顺序阅读?
  3. 是否可以用(1( 覆盖(2(的设置,我该怎么做?

谢谢。

阅读此处的文档,您会发现:

Log4j 允许使用 log4jConfiguration 上下文参数在 web.xml 中指定配置文件。Log4j 将通过以下方式搜索配置文件:

  1. 如果提供了位置,则将将其作为 servlet 上下文资源进行搜索。例如,如果 log4jConfiguration 包含 "logging.xml",则 Log4j 将在 Web 应用程序的根目录中查找具有该名称的文件。
  2. 如果未定义位置,Log4j 将在 WEB-INF 目录中搜索以"log4j2"开头的文件。如果找到多个文件,并且存在以"log4j2-name"开头的文件,其中 name 是 Web 应用程序的名称,则将使用它。否则将使用第一个文件。
  3. 使用类路径和文件 URL 的"正常"搜索序列将用于查找配置文件。

如果我理解正确,这回答了您的所有问题。

最新更新