如何防止从java连接到mongodb时登录控制台?
我跟着这个{a1}。这是我的密码
public class JMongoDBCDemo
{
MongoClient mongoClient;
DB db;
DBCollection coll;
public JMongoDBCDemo()
{
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
db = mongoClient.getDB( "messenger" );
coll = db.getCollection("users");
DBObject myDoc = coll.findOne();
System.out.println(myDoc);
mongoClient.close();
System.out.println("Got a collection...");
}
public static void main(String[] args){
JMongoDBCDemo mongoDemo = new JMongoDBCDemo();
}
}
下面是输出
Apr 05, 2015 12:17:47 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
Apr 05, 2015 12:17:47 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: No server chosen by ReadPreferenceServerSelector{readPreference=primary} from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, all=[ServerDescription{address=localhost:27017, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out
Apr 05, 2015 12:17:47 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Opened connection [connectionId{localValue:1, serverValue:3}] to localhost:27017
Apr 05, 2015 12:17:47 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Monitor thread successfully connected to server with description ServerDescription{address=localhost:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[2, 6, 1]}, minWireVersion=0, maxWireVersion=2, maxDocumentSize=16777216, roundTripTimeNanos=389140}
Apr 05, 2015 12:17:47 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Opened connection [connectionId{localValue:2, serverValue:4}] to localhost:27017
{ "_id" : { "$oid" : "55201cec68fb70b6affba026"} , "name" : "prasad" , "password" : "123456"} //This is my output
Apr 05, 2015 12:17:47 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Closed connection [connectionId{localValue:2, serverValue:4}] to localhost:27017 because the pool has been closed.
Got a collection... //my output
根据documentation的说法,它应该像
{ "_id" : { "$oid" : "55201cec68fb70b6affba026"} , "name" : "prasad" , "password" : "123456"}
Got a collection...
所以,任何人都可以帮助我阻止控制台中的这些日志
# 1 楼答案
多亏了@jyemin 通过使用MongoDB official documentation链接
现在控制台中没有日志
# 2 楼答案
通过“com.mongodb.客户端.MongoClient”导入您的Mongo客户端
确保你有我写这个答案时的最新版本的驱动程序,3.12.2
如果上述方法不起作用,您可能正在使用另一个日志模块,请查看如何关闭该模块,例如,如果您正在使用slf4j,请在资源文件夹中创建一个名为“simpleLogger.properties”的文件,并将此行添加到其中
# 3 楼答案
你可以用
# 4 楼答案
我试过这个
java.util.logging.Logger.getLogger("org.mongodb.driver").setLevel(Level.OFF);
它没有工作,它仍然记录
com.mongodb.diagnostics.logging.JULLogger log
我把它改成了JULLogger,它成功了
java.util.logging.Logger.getLogger("JULLogger").setLevel(Level.OFF);