共享WAR和logback日志记录分离

时间:2013-01-06 11:49:29

标签: java logging tomcat7

我正在尝试使用Tomcat 7下的logback(http://logback.qos.ch)实现Web应用程序的日志记录分离。我已经阅读了他们的websiste上的所有教程,即:

http://logback.qos.ch/manual/loggingSeparation.html

它依赖于在每个Web应用程序web.xml中提供JNDI条目并在回溯配置中使用它们。它简单明了。问题很严重,我只有一个WAR通过单独的上下文配置在几个上下文中部署(在TOMCAT_HOME \ conf \ Catalina \ localhost下):

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="c:\applications\app" path="/Test1" reloadable="true">
</Context>

使用这种方法,我无法修改web.xml文件以提供独特的应用程序名称。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

您可以实现ServletContextListener:

public class YourContextListener implements ServletContextListener {
...
@Override
public void contextInitialized(ServletContextEvent sce) {
...
}

在contextInitialized方法中,使用来自servlet上下文路径的信息更新应用程序的logback上下文名称JNDI值。