发布于 2015-09-14 14:51:40 | 112 次阅读 | 评论: 0 | 来源: 网络整理
Log rotation archives the current log file and starts a new one. Specifically, log rotation renames the current log file by appending the filename with a timestamp, [1] opens a new log file, and finally closes the old log. MongoDB will only rotate logs, when you use the logRotate command, or issue the process a SIGUSR1 signal as described in this procedure.
也可以参考
For information on logging, see the Process Logging section.
The following steps create and rotate a log file:
Start a mongod with verbose logging, with appending enabled, and with the following log file:
mongod -v --logpath /var/log/mongodb/server1.log --logappend
In a separate terminal, list the matching files:
ls /var/log/mongodb/server1.log*
For results, you get:
server1.log
Rotate the log file using one of the following methods.
From the mongo shell, issue the logRotate command from the admin database:
use admin
db.runCommand( { logRotate : 1 } )
This is the only available method to rotate log files on Windows systems.
From the UNIX shell, rotate logs for a single process by issuing the following command:
kill -SIGUSR1 <mongod process id>
From the UNIX shell, rotate logs for all mongod processes on a machine by issuing the following command:
killall -SIGUSR1 mongod
List the matching files again:
ls /var/log/mongodb/server1.log*
For results you get something similar to the following. The timestamps will be different.
server1.log server1.log.2011-11-24T23-30-00
The example results indicate a log rotation performed at exactly 11:30 pm on November 24th, 2011 UTC, which is the local time offset by the local time zone. The original log file is the one with the timestamp. The new log is server1.log file.
If you issue a second logRotate command an hour later, then an additional file would appear when listing matching files, as in the following example:
server1.log server1.log.2011-11-24T23-30-00 server1.log.2011-11-25T00-30-00
This operation does not modify the server1.log.2011-11-24T23-30-00 file created earlier, while server1.log.2011-11-25T00-30-00 is the previous server1.log file, renamed. server1.log is a new, empty file that receives all new log output.
[1] | MongoDB renders this timestamp in UTC (GMT) and formatted as ISODate. |