如何设置Jetty的整体日志级别SLF4J+Logback?

How to set Jetty's overall logging level SLF4J+Logback?

我在我的应用程序中使用 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 级别非常嘈杂。

感谢任何帮助!

您需要设置属性....

    // change Jetty Logger

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

我无法让 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

我就是这样工作的。如果有更好的方法我当然想知道。