我正在尝试使用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文件以提供独特的应用程序名称。有没有办法实现这个目标?
答案 0 :(得分:0)
您可以实现ServletContextListener:
public class YourContextListener implements ServletContextListener {
...
@Override
public void contextInitialized(ServletContextEvent sce) {
...
}
在contextInitialized方法中,使用来自servlet上下文路径的信息更新应用程序的logback上下文名称JNDI值。