Tomcat6 webapps之间的单个Log4j

时间:2009-10-02 04:52:57

标签: log4j tomcat6

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

1 个答案:

答案 0 :(得分:1)

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

另请注意,一般情况下(虽然可能不是这种情况),不同的webapps具有不同的生命周期,这意味着Tomcat可能必须使用一个版本的log4j同时支持webapp A作为webapp B,使用不同版本的log4j。