logRotate
On this page
Definition
logRotate-
The
logRotatecommand is an administrative command that allows you to rotate the MongoDB server log and/or audit log to prevent a single logfile from consuming too much disk space.You must issue the
logRotatecommand against the admin database.
Syntax
The command has the following syntax:
db.adminCommand( { logRotate: <target> } )
Command Fields
The command takes the following fields:
| Parameter | Type | Description |
|---|---|---|
<target> | string | The log or logs to rotate, according to the following:
|
comment | any | optional A message logged by the server to the log file and audit file at time of log rotation. |
You may also rotate the logs by sending a SIGUSR1 signal to the mongod process.
For example, if a running mongod instance has a process ID (PID) of 2200, the following command rotates the log file for that instance on Linux:
kill -SIGUSR1 2200
Limitations
-
Your
mongodinstance needs to be running with the--logpath [file]option in order to uselogRotate -
Auditing must be enabled to rotate the audit log.
Behavior
The systemLog.logRotate setting or --logRotate option specify logRotate's behavior.
When systemLog.logRotate or --logRotate are set to rename, logRotate renames the existing log file by appending the current timestamp to the filename. The appended timestamp has the following form:
<YYYY>-<mm>-<DD>T<HH>-<MM>-<SS>
Then logRotate creates a new log file with the same name as originally specified by the systemLog.path setting to mongod or mongos.
When systemLog.logRotate or --logRotate are set to reopen, logRotate follows the typical Linux/Unix behavior, and simply closes the log file then reopens a log file with the same name. With reopen, mongod expects that another process renames the file prior to the rotation, and that the reopen results in the creation of a new file.
Examples
The following example rotates both the server log and the audit log:
db.adminCommand({logRotate: 1})
The following example rotates only the audit log, and provides a custom message to the log file at time of rotation:
db.adminCommand({logRotate: audit, comment: "Rotating audit log"})