Candroid Candroid - 3 months ago 156
Java Question

How to disable mongoDB java driver logging?

I am trying to disable log outputs of

mongo-java-driver-3.0.0
.

I have tried to set those in the beginning of my application, before loading the
mongo
drivers, but it didn't help.

// Enable MongoDB logging in general
System.setProperty("DEBUG.MONGO", "false");

// Enable DB operation tracing
System.setProperty("DB.TRACE", "false");


I am getting this kind of logs:

11:01:15.406 [pool-1-thread-1] DEBUG org.mongodb.driver.protocol.query - Sending query of namespace susudev.Players on connection [connectionId{localValue:2, serverValue:28}] to server localhost:27017
11:01:15.406 [pool-1-thread-1] DEBUG org.mongodb.driver.protocol.query - Query completed

11:01:25.174 [cluster-ClusterId{value='554dbecb1b554f11e86c3a69', description='null'}-localhost:27017] DEBUG org.mongodb.driver.cluster - Checking status of localhost:27017
11:01:25.177 [cluster-ClusterId{value='554dbecb1b554f11e86c3a69', description='null'}-localhost:27017] DEBUG org.mongodb.driver.cluster - Updating cluster description to {type=STANDALONE, servers=[{address=localhost:27017, type=STANDALONE, roundTripTime=0.6 ms, state=CONNECTED}]


So my console is completely packed with mongo logs and I cant read anything.

Answer

So this solved this issue:

import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;

...

static Logger root = (Logger) LoggerFactory
        .getLogger(Logger.ROOT_LOGGER_NAME);

static {
    root.setLevel(Level.INFO);
}

You may set the Level to a higher Level if you wish to hide all the logs.

Comments