Mongod日志

参考文档

  • 获取日志组件

      db.getLogComponents()
    
  • 更改日志记录级别

      db.setLogLevel(0, "index")
    
  • 通过 Mongo shell 查看日志

    db.adminCommand({ "getLog": "global" })
    
  • 通过命令行查看日志(Linux)

    tail -f /data/db/mongod.log
    

    在这里插入图片描述

  • 更新文档

      db.products.update( { "sku" : 6902667 }, { $set : { "salePrice" : 39.99} } )
    
  • 使用 grep 在日志文件中查找说明

    grep -i 'update' /data/db/mongod.log
    

日志记录工具

Process Log
  • 进程日志显示活动在MongoDB实例上
  • 可以使用db.getLogComponents()查看当前配置的日志组件
    在这里插入图片描述
  • verbosity 字段是 MondoDB 服务器的默认详细级别,任何其他组件都可以从该字段继承
  • 其他组件的 “verbosity” : -1
    -1 表示日志组件,从父级继承
    0 默认的详细程度,用来包括信息型消息
    1~5 增加详细程度用来包括 Debug messages
    更高的详细级别一位着更详细和更频繁调试信息
  • 查看整个日志组件
    在这里插入图片描述
  • 将索引组件的日志详细程度更改
    在这里插入图片描述
  • 日志信息安全级别
    在这里插入图片描述
### 如何在MongoDB中进行日志查询 #### 使用Profiler功能 MongoDB 提供了一种内置的功能——Profiler,用于捕获数据库的操作日志。此功能可以帮助开发者监控和诊断性能问题。Profiler 可以记录所有的操作日志或仅限于慢查询日志[^3]。 启用 Profiler 功能的方法如下: ```javascript db.setProfilingLevel(2, { slowms: 100 }) ``` 在此命令中,`setProfilingLevel` 的第一个参数表示级别(0 表示关闭,1 表示只记录慢查询,2 表示记录所有操作),第二个参数 `slowms` 定义了慢查询的时间阈值(单位为毫秒)。例如,以上命令将记录执行时间超过 100 毫秒的查询[^4]。 #### 查询慢日志 一旦启用了 Profiler,慢查询日志会被存储在一个名为 `system.profile` 的集合中。该集合中的文档包含了每次操作的相关信息,如查询条件、执行计划、耗时等。以下是查询慢日志的一个例子: ```javascript db.system.profile.find({ millis: { $gt: 100 } }).pretty() ``` 这条命令会返回所有执行时间大于 100 毫秒的操作详情。通过这些数据,可以进一步分析哪些查询需要优化[^5]。 #### 插入自定义日志条目 除了依赖系统的自动日志机制外,还可以手动向 MongoDB 中插入日志条目以便追踪特定事件的发生情况。这通常涉及创建一个新的集合专门用来保存应用层的日志消息,并利用 `insertOne()` 方法完成实际的数据写入工作[^2]。 例如下面这段 JavaScript 脚本展示了如何构建并存入一条包含用户活动跟踪信息的日志项: ```javascript const logEntry = { userId: 'user_123', ipAddress: '192.168.1.1', timestamp: new Date(), }; await db.logs.insertOne(logEntry); console.log('Log entry created successfully.'); ``` 这样做的好处在于能够灵活控制所要收集的信息种类及其结构形式,从而更好地服务于具体的业务需求场景下的审计与故障排查目的。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值