Jetty: how to disable logging?

前端 未结 7 1927
隐瞒了意图╮
隐瞒了意图╮ 2020-12-30 02:35

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?

7条回答
  •  梦谈多话
    2020-12-30 03:08

    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).

提交回复
热议问题