0

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

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

它依赖于在每个 Web 应用程序 web.xml 中提供 JNDI 条目并在 logback 配置中使用它们。这很简单。问题很棘手,我只有一个 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 文件以提供不同的应用程序名称。有没有办法做到这一点?

4

1 回答 1

0

您可以实现 ServletContextListener :

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

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

于 2013-04-25T07:48:00.143 回答