Logback をロギング フレームワークとして使用して Web アプリケーションを開発しており、Tomcat 6 でテストしています。何らかの理由で、logback.xmlが読み取られません。
- logback.xmlはWEB-INF/classesにあります。
- ログバック自体はWEB-INF/libにあります。
- SLF4Jを使用しています。
LoggerFactory.getLogger(...)ログバックが使用されています: catalina.outにログ メッセージが表示され、ログバック ロガー インスタンスが返されます。- すでにアプリをリロードし、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