MongoDB 记录所有查询 [英] MongoDB logging all queries
问题描述
这个问题既简单又基本......你如何将所有查询记录在 mongodb 的尾"日志文件中?
The question is as basic as it is simple... How do you log all queries in a "tail"able log file in mongodb?
我试过了:
- 设置分析级别
- 设置慢 ms 参数启动
- 带有 -vv 选项的 mongod
/var/log/mongodb/mongodb.log 一直显示当前的活动连接数...
The /var/log/mongodb/mongodb.log keeps showing just the current number of active connections...
推荐答案
我最终通过像这样启动 mongod 来解决这个问题(锤击和丑陋,是的...但适用于开发环境):
I ended up solving this by starting mongod like this (hammered and ugly, yeah... but works for development environment):
mongod --profile=1 --slowms=1 &
这将启用分析并将慢查询"的阈值设置为 1 毫秒,从而导致所有查询都作为慢查询"记录到文件中:
This enables profiling and sets the threshold for "slow queries" as 1ms, causing all queries to be logged as "slow queries" to the file:
/var/log/mongodb/mongodb.log
现在我使用以下命令获得连续的日志输出:
Now I get continuous log outputs using the command:
tail -f /var/log/mongodb/mongodb.log
示例日志:
Mon Mar 4 15:02:55 [conn1] query dendro.quads query: { graph: "u:http://example.org/people" } ntoreturn:0 ntoskip:0 nscanned:6 keyUpdates:0 locks(micros) r:73163 nreturned:6 reslen:9884 88ms
这篇关于MongoDB 记录所有查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!