Jetty:如何禁用日志记录?

use*_*087 16 logging jetty

我试图在另一个程序中嵌入Jetty 6.1.Jetty正在转储INFO-log信息,我需要将其关闭.是否有一种简单的方法来禁用logmaticaly的记录?

Chr*_*tin 13

Jeff Chern答案的更简洁版本:

org.eclipse.jetty.util.log.Log.setLog(new NoLogging())
Run Code Online (Sandbox Code Playgroud)

.

import org.eclipse.jetty.util.log.Logger;

public class NoLogging implements Logger {
    @Override public String getName() { return "no"; }
    @Override public void warn(String msg, Object... args) { }
    @Override public void warn(Throwable thrown) { }
    @Override public void warn(String msg, Throwable thrown) { }
    @Override public void info(String msg, Object... args) { }
    @Override public void info(Throwable thrown) { }
    @Override public void info(String msg, Throwable thrown) { }
    @Override public boolean isDebugEnabled() { return false; }
    @Override public void setDebugEnabled(boolean enabled) { }
    @Override public void debug(String msg, Object... args) { }
    @Override public void debug(Throwable thrown) { }
    @Override public void debug(String msg, Throwable thrown) { }
    @Override public Logger getLogger(String name) { return this; }
    @Override public void ignore(Throwable ignored) { }
}
Run Code Online (Sandbox Code Playgroud)


arc*_*i82 7

System.setProperty("org.eclipse.jetty.util.log.class", "org.eclipse.jetty.util.log.StdErrLog");
System.setProperty("org.eclipse.jetty.LEVEL", "OFF");
Run Code Online (Sandbox Code Playgroud)

这对我有用,但只需确保在启动服务器之前调用它.


小智 5

在Jetty Embedded中,您可以尝试:org.mortbay.log.Log.setLog(null); 在调用Server之前.