在Tomcat中放置logback.xml的位置?

当我们希望将logback.xml文件配置为可配置时,将logback.xml文件放在何处?

以及如何使内部运行的Java应用程序可以访问它?

您通常希望在类路径上使用logback.xml 。 根据Logback FAQ :

对于Web应用程序,配置文件可以直接放在WEB-INF / classes /下。

因此,您需要将其放入:

 /webapps/your-app/WEB-INF/classes/ 

Logback在它查找的位置有一些约定。 这些都记录在这里 。

  • Logback尝试在类路径中查找名为logback.groovy的文件。

  • 如果未找到此类文件,则logback会尝试在类路径中查找名为logback-test.xml的文件。

  • 如果找不到这样的文件,它会检查类路径中的文件logback.xml。

  • 如果找不到任何文件,则logback将使用BasicConfigurator自动配置自身,这将导致日志记录输出定向到控制台。

但您也可以告诉它在哪里找到该文件。

您可以使用名为“logback.configurationFile”的系统属性指定默认配置文件的位置。 此属性的值可以是URL,类路径上的资源或应用程序外部文件的路径。

 java -Dlogback.configurationFile=/path/to/config.xml chapters.configuration.MyApp1 

请注意,文件扩展名必须为“.xml”或“.groovy”。 其他扩展名被忽略。 显式注册状态侦听器可能有助于调试查找配置文件的问题。