使用log4j为每个Web应用程序和共享库分隔日志文件

时间:2010-03-19 16:19:20

标签: java tomcat logging log4j shared-libraries

我在Tomcat服务器上运行的Web应用程序很少。每个应用程序在其自己的战争中包含自己的log4j库副本。这允许每个应用程序单独,灵活的日志记录配置。

我也有很少的共享库(保存在Tomcat的共享库目录中)。我希望共享库记录器输出与应用程序(使用它们)记录器输出(例如:如果应用程序A记录到文件a.log,并使用库b.jar,我希望b.jar也记录到a.log文件)。问题是,共享库是由共享类加载器加载的,这导致它们无法访问应用程序定义的记录器。这个问题有什么解决方案吗?

1 个答案:

答案 0 :(得分:2)

您可以查看SL4J bridging。您可以将应用程序配置为将对log4j的调用重新路由到sl4j,然后您可以使用它们执行您喜欢的操作,您可以将它们配置为出现在同一个文件中,或者其他任何内容。

这里也有一篇好文章:Thoughts on Java logging and SLF4J