0

是否有正确的方法将 Log4j 记录器与 Common ClassLoader 一起使用,而不是与基于 Web-App 的 ClassLoader 一起使用,即所有已部署的 web-apps 只使用一个 log4j.jar?当我将 log4j.jar 放到 commons lib 目录中时,log4j 会为任何应用程序获取第一个 loj4j.properties 并仅使用它。所有其他 loj4j.properties(其他应用程序的)都将被忽略。有没有办法说 log4j 为每个应用程序及其属性返回单独的日志工厂?

4

1 回答 1

1

不是我认为你的意思,因为每个 webapp 的记录器应该完全独立于其他 webapps 中的记录器。因为日志存储库是单例的,所以只有在它们由单独的类加载器(即 webapp 类加载器)处理时才能做到这一点。

另请注意,一般情况下(尽管您可能并非如此),不同的 webapps 具有不同的生命周期,这意味着 Tomcat 可能必须同时支持 webapp A 使用一个版本的 log4j 和 webapp B,后者使用不同的log4j 的版本。

于 2009-10-05T15:08:46.180 回答