发布于 2015-09-14 14:51:40 | 104 次阅读 | 评论: 0 | 来源: 网络整理

Overview

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.

Procedure

The following steps create and rotate a log file:

  1. Start a mongod with verbose logging, with appending enabled, and with the following log file:

    mongod -v --logpath /var/log/mongodb/server1.log --logappend
  2. In a separate terminal, list the matching files:

    ls /var/log/mongodb/server1.log*

    For results, you get:

    server1.log
    
  3. 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
      
  4. 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.
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务