不知道我理解对不对,正常启动的情况下如果不fork也不指定logpath那日志就是输出到控制台中。 更新 根据你的评论以下是更新的内容。你要的功能是记录CRUD语句,有以下几种实现方式(任选其一): 使用企业版的审计日志(不详述); 使用Profiling功能 用法参考: 官方文档:db.setProfilingLevel() Stackoverflow上的问题:MongoDB logging all queries; 这条命令对单个数据库有效; 命令会在当前数据库中建立system.profile集合记录所有的CRUD操作; 记录慢查询日志 默认情况下执行超过100ms的语句会被记录到mongod.log中(也就是你评论里提到的那种日志) 可以通过配置文件中的参数slowOpThresholdMs修改记录语句的阈值(修改为0就可以全部记录); 也可以不修改配置文件(避免重启)直接在命令行中执行:db.setProfilingLevel(0, 0)在线修改慢查询阈值; 以上方式任选其一都可以达到目的,但是需要了解记录所有语句对数据库会造成额外的负担,可能会对数据库性能有非常严重的影响,因此只建议在排查问题时临时开启,完成后尽快关闭。
不知道我理解对不对,正常启动的情况下如果不
fork
也不指定logpath
那日志就是输出到控制台中。更新
根据你的评论以下是更新的内容。
你要的功能是记录CRUD语句,有以下几种实现方式(任选其一):
使用Profiling功能
用法参考:
记录慢查询日志
100ms
的语句会被记录到mongod.log
中(也就是你评论里提到的那种日志)db.setProfilingLevel(0, 0)
在线修改慢查询阈值;以上方式任选其一都可以达到目的,但是需要了解记录所有语句对数据库会造成额外的负担,可能会对数据库性能有非常严重的影响,因此只建议在排查问题时临时开启,完成后尽快关闭。