为什么即使配置文件中没有这样的选项,调试信息也会被添加到日志文件中?
tail /var/log/mongodb/mongod.log
2015-08-20T19:46:58.496+0530 [initandlisten] connection accepted from 127.0.0.1:52564 #29378865 (229 connections now open)
2015-08-20T19:46:58.501+0530 [conn29378865] end connection 127.0.0.1:52564 (228 connections now open)
2015-08-20T19:46:58.502+0530 [conn29376536] query email3.email query: { messageguid: "c79d3312-8c39-4721-996e-310f6c810e69" } planSummary: COLLSCAN ntoskip:0 nscanned:85116 nscannedObjects:85116 keyUpdates:0 numYields:4 locks(micros) r:210752 nreturned:0 reslen:20 143ms
2015-08-20T19:46:58.735+0530 [conn29376536] query email3.email query: { messageguid: "10a01624-8a47-4ec4-a260-f11a83e7e195" } planSummary: COLLSCAN ntoskip:0 nscanned:85116 nscannedObjects:85116 keyUpdates:0 numYields:3 locks(micros) r:206983 nreturned:0 reslen:20 107ms
2015-08-20T19:46:58.878+0530 [conn29376536] query email3.email query: { messageguid: "edc0792f-8009-4b37-acdc-765308d87006" } planSummary: COLLSCAN ntoskip:0 nscanned:85116 nscannedObjects:85116 keyUpdates:0 numYields:2 locks(micros) r:225245 nreturned:0 reslen:20 140ms
2015-08-20T19:46:59.597+0530 [conn29376536] query email3.email query: { messageguid: "5cc70052-081b-49f0-8f39-fa32337508cc" } planSummary: COLLSCAN ntoskip:0 nscanned:85116 nscannedObjects:85116 keyUpdates:0 numYields:3 locks(micros) r:261268 nreturned:0 reslen:20 152ms
2015-08-20T19:46:59.792+0530 [conn29376536] query email3.email query: { messageguid: "c72608ff-0474-4ac3-a538-8426a229786d" } planSummary: COLLSCAN ntoskip:0 nscanned:85116 nscannedObjects:85116 keyUpdates:0 numYields:1 locks(micros) r:153281 nreturned:0 reslen:20 101ms
2015-08-20T19:46:59.924+0530 [conn29376536] query email3.email query: { messageguid: "<dc704c13-bcc4-4c37-a885-6c3a83fbfc80" } planSummary: COLLSCAN ntoskip:0 nscanned:85116 nscannedObjects:85116 keyUpdates:0 numYields:1 locks(micros) r:166382 nreturned:0 reslen:20 124ms
我已检查分析级别为0
> db.getProfilingLevel()
0
日志文件大小约为26 GB。 如果我截断这个文件,有什么我会错过的吗?
答案 0 :(得分:1)
您可能需要检查组件日志记录级别,而不是数据库分析级别。
查看日志级别:
在mongodb shell中,运行db.getLogComponents()
命令以获取分配给各个组件的日志记录级别的完整列表。您将获得类似于以下内容的输出:
{
"verbosity" : 0,
"accessControl" : {
"verbosity" : -1
},
"command" : {
"verbosity" : -1
},
"control" : {
"verbosity" : -1
},
"geo" : {
"verbosity" : -1
},
"index" : {
"verbosity" : -1
},
"network" : {
"verbosity" : -1
},
"query" : {
"verbosity" : 2
},
"replication" : {
"verbosity" : -1
},
"sharding" : {
"verbosity" : -1
},
"storage" : {
"verbosity" : -1,
"journal" : {
"verbosity" : -1
}
},
"write" : {
"verbosity" : -1
}
}
如果您注意到日志中增加了查询详细程度,请查看上述query.verbosity
输出中的db.getLogComponents
值。如果该值大于 0 那么这将解释额外的详细程度。请注意,如果值为 -1 ,则该组件的日志记录级别默认为verbosity
中指定的级别(系统日志记录级别默认值)。
在上面的示例中,query.verbosity
级别为 2 ,而其他所有级别的值都为 -1 ,这意味着它们将默认为{ {1}} 0 的级别。
更改shell中的值:
如果要更改组件的日志记录级别,请通过传入级别和组件来使用verbosity
命令。例如,以下内容将查询详细程度设置为默认值。
db.setLogLevel()
级别可以从最小详细的 0 到最详细的 5 。将级别设置为 -1 会将组件的详细程度默认为已建立的默认值。
<强>参考文献:强>
Log Messages有关记录消息的信息。