【问题标题】:embedded jetty war deploy logs for logback用于 logback 的嵌入式码头战争部署日志
【发布时间】:2017-03-07 17:53:36
【问题描述】:

我在我的应用程序中使用了一个嵌入式码头,并且我已经配置了一个战争部署文件夹,如下所示。

        // === jetty-deploy.xml ===

        DeploymentManager deployer = new DeploymentManager();
        deployer.setContexts(contexts);
        deployer.setContextAttribute(
                "org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern",
                ".*/servlet-api-[^/]*\\.jar$");

        WebAppProvider webapp_provider = new WebAppProvider();
        webapp_provider.setMonitoredDirName("jetty_base/webapps");
        //webapp_provider.setDefaultsDescriptor("jetty_base/webapps/webdefault.xml");
        webapp_provider.setScanInterval(1);
        webapp_provider.setExtractWars(true);
        webapp_provider.setConfigurationManager(new PropertiesConfigurationManager());

        deployer.addAppProvider(webapp_provider);
        server.addBean(deployer);


        org.eclipse.jetty.util.log.Log.setLog(new org.eclipse.jetty.util.log.StdErrLog());
        //Log.setLog(new Slf4jLog());

当我使用标准码头分布 (jetty-distribution-9.3.6.v20151106) 部署我的战争文件时,我可以在我的 *.stderrout.log 文件中获取日志。

但我面临的问题是,当我使用上面的嵌入式码头时,我无法获取日志。 我为 Log.setLog 尝试了 StdErrLog 和 Slf4jLog

在我的战争文件中有 logback 的日志。以下行是从标准分发的日志文件中提取的

 INFO in ch.qos.logback.classic.LoggerContext[default]

【问题讨论】:

    标签: java jetty embedded-jetty


    【解决方案1】:

    *.stderrlog.log 文件的创建是 jetty-distribution 行为方式的产物,它不适用于 ,不要试图实现该最终目标。

    至于配置日志记录,这需要尽早进行,就像非常早,尽可能早地实现。如果你能在你在 Jetty 中实例化任何东西之前实现它,那将是理想的。

    可以尝试的一些选项(仅尝试以下其中一种,而不是它们的组合)

    1) 让 Jetty 日志自动配置

    默认情况下,slf4j-api.jar 在你的类路径中的存在会导致码头自动配置 slf4j(在你的情况下将使用 logback 作为其实现)

    不要在任何地方打电话给Log.setLog(),让码头做它的事。

    2) 提前指定Log.setLog()

    尝试简单地将这个静态块放在你的主类中。

    static {
        org.eclipse.jetty.util.log.Log.setLog(new Slf4jLog());
    }
    

    不要在其他任何地方打电话给Log.setLog()

    3) 将jetty-logging.properties 添加到您的类路径

    在您的类路径中的某个位置创建一个jetty-logging.properties 文件(您的jar 文件的根是一个好地方),添加以下行:

    org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 2011-08-27
      • 2011-11-01
      相关资源
      最近更新 更多