我正在开发一个使用 Logback 作为日志记录框架的 Web 应用程序,并在 Tomcat 6 中对其进行测试。出于某种原因,logback.xml 无法读取。
- logback.xml 位于WEB-INF/classes。
- Logback 本身在 WEB-INF/lib 中。
- 我正在使用 SLF4J。
- 使用 Logback:我在 catalina.out 中看到日志消息,
LoggerFactory.getLogger(...)
返回 logback 记录器实例。 - 我已经重新加载了应用程序,甚至重新启动了 Tomcat。
知道发生了什么吗?
更新:似乎发生了更深层次的事情。这些返回 null
:
// in a servlet
getClass().getClassLoader().getResource("/logback.xml");
getClass().getClassLoader().getResource("MyServlet.class");
当我记录类加载器时,一切看起来都很好:
22:32:11.221 [http-8080-1] INFO test.MyServlet - WebappClassLoader
context: /test
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@630f41e9
最佳答案
这是 Linux 权限问题。某些目录缺少读取/执行权限。我在 I ran into more problems with that 时不小心修复了它.
关于java - 在 Tomcat 中找不到 logback.xml(或其他资源),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5736145/