如何禁用jetty9日志记录?

我正在使用嵌入式Jetty 9,路径中有slf4j.jar.默认情况下,jetty记录大量信息.

我想禁用日志记录,或者至少将日志级别更改为INFO.如何在程序中执行此操作(即,不添加一些xml配置文件)?

没有办法使用直接slf4j来设置 Logger级别,因为slf4j只是一个日志外观/路由API.

您需要依赖底层日志记录实现来设置命名空间“org.eclipse.jetty”的日志记录级别
如:

>如果使用slf4j-simple.jar和SimpleLogger,那么在初始化SimpleLogger之后,只能通过系统属性以编程方式设置级别,这在JVM的早期阶段.
>如果使用slf4j-log4j.jar,请使用Log4j specific techniques.

org.apache.log4j.LogManager.getLogger("org.eclipse.jetty").setLevel(Level.WARN);

>如果使用slf4j-jdk14.jar,请使用java.util.logging技术.

java.util.logging.LoggerFactory.getLogger("org.eclipse.jetty").setLevel(Level.WARNING);

>如果使用logback.jar,则将slf4j Logger转换为logback Logger,然后设置Level.

final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger("org.eclipse.jetty");
if (!(logger instanceof ch.qos.logback.classic.Logger)) {
    return;
}
ch.qos.logback.classic.Logger logbackLogger = (ch.qos.logback.classic.Logger) logger;
logbackLogger.setLevel(ch.qos.logback.classic.Level.WARN);
相关文章
相关标签/搜索