在Tomcat中放置logback.xml文件的位置是哪里?

29

当我们想要对logback.xml文件进行配置时,在Tomcat中应该把它放在哪里?

如何使Java应用程序内运行的内容能够访问到它?

1个回答

41

通常情况下,您希望将 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"。其他扩展名将被忽略。显式地注册状态监听器可能有助于调试问题,以定位配置文件。


1
把它放在我的Web应用程序内部还是放在其他地方,以便可以在多个应用程序之间共享,哪种方式更好? - Harold L. Brown
@Harold 这取决于你和你的设置。你可能希望为每个Web应用程序配置不同的设置。 - Sotirios Delimanolis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接