【问题标题】:Shared WAR and logback logging separation共享 WAR 和 logback 日志分离
【发布时间】:2013-01-06 11:49:29
【问题描述】:

我正在尝试在 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 文件以提供不同的应用名称。有没有办法做到这一点?

【问题讨论】:

    标签: java logging tomcat7


    【解决方案1】:

    你可以实现一个 ServletContextListener :

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 2012-12-29
      • 1970-01-01
      • 2017-10-25
      • 1970-01-01
      • 2014-08-13
      • 2015-01-09
      相关资源
      最近更新 更多