MongoDb-获取已执行查询的日志

时间:2019-08-28 12:22:17

标签: c# mongodb

我正在使用mongodb C#驱动程序在mongodb上执行所有操作。 我想要诸如执行操作所花费的时间,获取的锁,COLLSCAN / IXSCAN阶段之类的日志。

我现在在日志中获得的所有内容就是用于创建和删除集合和索引的语句。

2019-08-26T14:44:57.444+0530 I INDEX    [conn2] build index on: TestDb.System2 properties: { v: 2, unique: true, key: { description: 1 }, name: "description_1", ns: "TestDb.System2", background: true, sparse: false }
2019-08-26T14:44:57.444+0530 I INDEX    [conn2] build index done.  scanned 0 total records. 0 secs
2019-08-26T14:44:57.642+0530 I COMMAND  [conn2] dropDatabase TestDb starting
2019-08-26T14:44:57.642+0530 I COMMAND  [conn2] dropDatabase TestDb finished

如何获取正在执行的查询的日志。

我也知道system.profile的收藏。我不想通过启用分析将日志推送到此集合。

1 个答案:

答案 0 :(得分:0)

您必须启用所有写入的日志

$ mongo
MongoDB shell version: 2.4.9
connecting to: testDb
> use myTestDb
switched to db myTestDb
> db.getProfilingLevel()
0
> db.setProfilingLevel(2)
{ "was" : 0, "slowms" : 1, "ok" : 1 }
> db.getProfilingLevel()
2
> db.system.profile.find().pretty()

参考:https://docs.mongodb.com/manual/reference/method/db.setProfilingLevel/

db.setProfilingLevel(2)

此查询记录所有操作