首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MongoDB记录所有查询

MongoDB记录所有查询
EN

Stack Overflow用户
提问于 2013-03-04 22:53:33
回答 16查看 197.3K关注 0票数 188

这个问题既简单又基本……在mongodb中,如何将所有查询记录在一个“结尾”的日志文件中?

我试过了:

  • 设置性能分析级别
  • 使用-vv选项

设置慢毫秒参数

/var/log/mongodb/mongodb.log只显示当前活动连接的数量……

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2013-03-04 23:07:03

我最终解决了这个问题,就像这样启动了mongod (被锤击和丑陋,是的……但适用于开发环境):

代码语言:javascript
运行
复制
mongod --profile=1 --slowms=1 &

这将启用性能分析,并将“慢查询”的阈值设置为1ms,导致所有查询都作为“慢查询”记录到文件中:

代码语言:javascript
运行
复制
/var/log/mongodb/mongodb.log

现在,我使用以下命令获得连续的日志输出:

代码语言:javascript
运行
复制
tail -f /var/log/mongodb/mongodb.log

示例日志:

代码语言:javascript
运行
复制
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
票数 86
EN

Stack Overflow用户

发布于 2014-02-12 19:01:12

您可以记录所有查询:

代码语言:javascript
运行
复制
$ mongo
MongoDB shell version: 2.4.9
connecting to: test
> use myDb
switched to db myDb
> db.getProfilingLevel()
0
> db.setProfilingLevel(2)
{ "was" : 0, "slowms" : 1, "ok" : 1 }
> db.getProfilingLevel()
2
> db.system.profile.find().pretty()

来源:http://docs.mongodb.org/manual/reference/method/db.setProfilingLevel/

db.setProfilingLevel(2)表示“记录所有操作”。

票数 283
EN

Stack Overflow用户

发布于 2015-04-24 22:03:52

因为它是谷歌的第一个答案…

对于版本3

代码语言:javascript
运行
复制
$ mongo
MongoDB shell version: 3.0.2
connecting to: test
> use myDb
switched to db
> db.setLogLevel(1)

http://docs.mongodb.org/manual/reference/method/db.setLogLevel/

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15204341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档