Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 共享WAR和logback日志记录分离_Java_Logging_Tomcat7 - Fatal编程技术网

Java 共享WAR和logback日志记录分离

Java 共享WAR和logback日志记录分离,java,logging,tomcat7,Java,Logging,Tomcat7,我试图在Tomcat7下使用logback()实现web应用程序日志记录的分离。我已经阅读了他们网站上的所有教程,即: 它依赖于在每个web应用程序web.xml中提供JNDI条目,并在logback配置中使用它们。简单明了。问题很棘手,我只有一个WAR,它通过单独的上下文配置(在TOMCAT_HOME\conf\Catalina\localhost下)部署在多个上下文中: 使用这种方法,我无法修改web.xml文件以提供不同的应用程序名称。有没有办法做到这一点?您可以实现ServletC

我试图在Tomcat7下使用logback()实现web应用程序日志记录的分离。我已经阅读了他们网站上的所有教程,即:

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



使用这种方法,我无法修改web.xml文件以提供不同的应用程序名称。有没有办法做到这一点?

您可以实现ServletContextListener:

public class YourContextListener implements ServletContextListener {
...
@Override
public void contextInitialized(ServletContextEvent sce) {
...
}
在contextInitialized方法中,使用来自servlet上下文路径的信息更新应用程序的logback上下文名称JNDI值

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