systemLog:
verbosity: <int>
quiet: <boolean>
traceAllExceptions: <boolean>
syslogFacility: <string>
path: <string>
logAppend: <boolean>
logRotate: <string>
destination: <string>
timeStampFormat: <string>
component:
accessControl:
verbosity: <int>
command:
verbosity: <int>
systemLog.verbosity
类型:整型
默认: 0
组件的默认日志消息详细级别。详细级别决定 MongoDB 输出的信息和调试消息的数量。
详细程度级别的范围可以从 0 到 5:
0 是 MongoDB 的默认日志详细程度级别,包含信息消息。
1 至 5 将提高详细程度,以包含调试消息。
要对命名组件使用不同的详细级别,请使用该组件的详细级别设置。例如,使用 systemLog.component.accessControl.verbosity 为 ACCESS 组件设置具体的详细级别。
有关特定组件的详细级别设置,请参阅 systemLog.component.<name>.verbosity 设置。
有关设置日志详细级别的各种方法,请参阅配置日志详细级别。
从版本 4.2 开始,MongoDB 在日志消息中包含调试详细级别(1 至 5 级)。例如,如果详细级别为 2,则 MongoDB 记录 D2。在以前版本中,MongoDB 日志消息仅为调试级别指定 D。
systemLog.quiet
类型:布尔值
默认:false
在尝试限制输出量的安静模式下运行 mongos 或 mongod。
systemLog.quiet 不建议在生产系统中使用,因为它可能会使特定连接期间的追踪问题变得更加困难。
systemLog.traceAllExceptions
类型:布尔值
默认:false
打印用于调试的详细信息。用于额外的日志记录以进行与支持相关的故障排除。
systemLog.syslogFacility
类型:字符串
默认:用户
将消息记录到系统日志时使用的设施级别。您指定的值必须受操作系统的系统日志实现支持。要使用此选项,必须将 systemLog.destination 设置为 syslog。
systemLog.path
类型:字符串
mongod 或 mongos 应将所有诊断日志信息发送到的日志文件路径,而不是标准输出或主机的 syslog。MongoDB 会在指定路径创建日志文件。
Linux 包初始化脚本并不希望 systemLog.path 更改默认值。如果使用 Linux 包并更改 systemLog.path,则必须使用自己的初始化脚本并禁用内置脚本。
systemLog.logAppend
类型:布尔值
默认:false
如果为 true,则当实例重新启动时,mongos 或 mongod 会在现有日志文件的末尾附加新条目。如果没有此选项,mongod 或 mongos 将备份现有日志并创建新文件。
systemLog.logRotate
类型:字符串
默认:重命名
确定轮换服务器日志和/或审核日志时 logRotate 命令的行为。指定 rename 或 reopen:
rename 对日志文件进行重命名。
reopen 根据典型的 Linux/Unix 日志轮换行为关闭并重新打开日志文件。使用 Linux/Unix logrotate 实用程序时使用 reopen 避免日志丢失。
如果指定 reopen,还必须将 systemLog.logAppend 设置为 true。
systemLog.destination
类型:字符串
MongoDB 发送所有日志输出的目标。指定 file 或 syslog。如果指定 file,则必须同时指定 systemLog.path。
如果不指定 systemLog.destination,MongoDB 会将所有日志输出按标准输出发送。
警告
syslog 守护进程在记录消息时生成时间戳,而不是在 MongoDB 发出消息时生成时间戳。这可能会导致日志条目的时间戳产生误导,尤其是当系统负载较重时。我们建议对生产系统使用 file 选项,以确保时间戳的准确性。
systemLog.timeStampFormat
类型:字符串
Default: iso8601-local
日志消息中时间戳的时间格式。指定以下值之一:
值 | 说明 |
iso8601-utc | 以 ISO-8601 格式显示协调世界时 (UTC) 的时间戳。例如,对于纪元开始时的纽约:1970-01-01T00:00:00.000Z |
iso8601-local | 以 ISO-8601 格式显示当地时间的时间戳。例如,对于纪元开始时的纽约:1969-12-31T19:00:00.000-05:00 |
注意
systemLog.timeStampFormat 不再支持 ctime。ctime 格式日期的示例为:Wed Dec 31 18:17:54.811。




