【问题标题】:How to set Jetty's overall logging level SLF4J+Logback?如何设置Jetty的整体日志级别SLF4J+Logback?
【发布时间】:2015-11-19 09:24:13
【问题描述】:

我在我的应用程序中使用 Jetty http 客户端。我也在使用 SLF4J 和 LogBack。

如何将 Jetty 的整体日志记录级别设置为 INFO?

我已按照 Jetty 文档中的说明提供 jetty-logging.properties 文件,其内容如下:

# Configure Jetty for SLf4j Logging
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog
# Overall Logging Level is INFO
org.eclipse.jetty.LEVEL=INFO

Jetty 可以通过 SLF4J 正常记录,但 LEVEL 设置似乎不起作用。

当我从 Logback 配置设置级别时,它可以工作,但我希望我的代码在 DEBUG 级别和 Jetty 在 INFO 级别登录。

Jetty 在 DEBUG 级别非常嘈杂。

感谢任何帮助!

【问题讨论】:

    标签: java jetty slf4j logback


    【解决方案1】:

    你需要设置属性......

        // change Jetty Logger
    
        Properties p = new Properties();
        p.setProperty("org.eclipse.jetty.LEVEL", "OFF");
        org.eclipse.jetty.util.log.StdErrLog.setProperties(p);
    

    【讨论】:

      【解决方案2】:

      我无法让 Jetty 以自定义级别登录。因为如果 Jetty 在我的应用程序中找到 SLF4J,那么它将以我在 logback.xml 配置文件中指定的日志记录级别开始使用它。

      所以我做了一个小技巧。我指定 Jetty 使用 Java Utils Logging 并将级别设置为 INFO。

                  // Setting Jetty logger implementation and level (DEBUG | INFO | WARN | IGNORE)
                  System.setProperty("org.eclipse.jetty.util.log.class",
                          "org.eclipse.jetty.util.log.JavaUtilLog");
                  System.setProperty("org.eclipse.jetty.util.log.class.LEVEL", "INFO");
      

      为了将 Java Utils Logging 消息重定向到 SLF4J,我使用了 jul-to-slf4j-1.7.12.jar

      这就是我让它工作的方式。如果有更好的方法我肯定想知道。

      【讨论】:

        猜你喜欢
        • 2015-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-18
        • 2011-12-19
        • 2011-02-06
        • 2015-05-02
        • 1970-01-01
        相关资源
        最近更新 更多