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

时间:2019-12-18 10:15:17

标签: java logging log4j log4j2

我们有一个包含两个log4j2.xml文件的webapp:

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

我的问题是:

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

谢谢。

1 个答案:

答案 0 :(得分:1)

阅读文档here,您会发现:

  

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

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

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