如何在Java应用程序中重定向MongoDB日志?

时间:2017-12-09 09:21:10

标签: java mongodb logging

我在Java应用程序中使用Mongo数据库。 stdout填充了类型为

的日志
dec. 09, 2017 9:45:21 AM com.mongodb.diagnostics.logging.JULLogger log
INFO: Opened connection [connectionId{localValue:225, serverValue:225}] to localhost:27017
dec. 09, 2017 9:45:21 AM 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=[3, 4, 10]}, minWireVersion=0, maxWireVersion=5, maxDocumentSize=16777216, roundTripTimeNanos=189205}

我希望将这些日志重定向到文本文件。我尝试了其他SO答案中提到的几个选项但没有成功,例如使用java.util.logging.Logger,但我似乎无法让它工作。 帮助赞赏。

我的代码示例如下:

MongoClient m = new MongoClient("localhost",27017);
// Do something with the DBs
m.close();

1 个答案:

答案 0 :(得分:0)

试试这个:

// get mongo db logger
Logger logger = Logger.getLogger("org.mongodb.driver");
// stop upstream log propagation
logger.setUseParentHandlers(false)
// set up handler for output to file
FileHandler fh = new FileHandler("S:/ome/path/to/your/file.log");
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
相关问题