【问题标题】:disable debug info in mongodb log file在 mongodb 日志文件中禁用调试信息
【发布时间】:2015-11-14 06:28:53
【问题描述】:

为什么即使配置文件中没有这样的选项,调试信息也会被添加到日志文件中?

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。 如果我截断这个文件,我会错过什么吗?

【问题讨论】:

    标签: mongodb


    【解决方案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 详细程度增加,请查看上述 db.getLogComponents 输出中的 query.verbosity 值。如果该值大于0,那么这将解释额外的冗长。请注意,如果值为 -1,则该组件的日志记录级别默认为 verbosity 中指定的级别(系统日志记录级别默认值)。

    在上面的示例中,query.verbosity 级别为 2,而所有其他级别的值为 -1,这意味着它们将默认为 verbosity 0

    更改 shell 中的值:

    如果您想更改组件的日志记录级别,请通过传入级别和组件来使用db.setLogLevel() 命令。例如,以下将查询详细程度设置为默认值。

    > db.setLogLevel(-1, "query")
    

    级别可能从最不详细的 0 到最详细的 5。将级别设置为 -1 会将组件的详细程度默认为已建立的默认值。

    参考资料:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-29
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-05
      • 1970-01-01
      相关资源
      最近更新 更多