Jetty: how to disable logging?

2019-02-06 02:11发布

I am trying to embed Jetty 6.1 in another program. Jetty is dumping INFO-log information and I need to turn it off. Is there a simple way to disable logging programmaticaly?

标签: logging Jetty
7条回答
我欲成王,谁敢阻挡
2楼-- · 2019-02-06 02:42

I've had success in creating a dummy logger that discards everything it's ever asked to log, and then passing it into Log.setLog(...).

E.g.

private static class DummyLogger implements Logger {

    @Override
    public String getName() {
        return "DummyLogger";
    }

    @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) {}

}

For reference, I used these packages:

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

instead of the mortbay ones, but they should probably behave the same (or at least similarly).

查看更多
登录 后发表回答