supervisor 日志轮转

Supervisord 会基于 logfile_maxbyteslogfile_backups 轮转日志。当活跃日志文件大小达到 logfile_maxbytes,这个文件会被重命名为备份文件,然后 supervisord 会创建一个新的活跃日志文件。当上述情况发生时,如果已有备份文件的数量大于等于 logfile_backups,那么最旧的备份文件会被移除,然后其他剩余的日志文件会据此调整命名。

假如活跃日志名叫 supervisord.loglogfile_backups 设置为 2。当 supervisord.log 的大小达到 logfile_maxbytes,它会被关闭然后重命名为 supervisord.log.1,然后 supervisord 会再创建一个空的 supervisord.log

supervisord.log 又达到 logfile_maxbytes,supervisord 根据已有的备份,将其重新命名为 supervisord.log.2(因为 supervisord.log.1 已经存在)。

supervisord.log 又达到 logfile_maxbytes,supervisord 发现已有备份达到了 logfile_maxbytes,所以删除最旧的 supervisord.log.2,然后将 supervisord.log.1 重命名为 supervisord.log.2,将 supervisord.log 重命名为 supervisord.log.1,再创建一个空的 supervisord.log

PS:在没有看官方文档之前,根据 backup 的字面意思,我认为所有的 supervisord.log.<num> 都是活跃日志 supervisord.log 的备份。而现在可以知道,supervisord.log.<num> 是之前的日志而不是当前活跃日志的备份,并且数字越大,日志越旧。

参考

  1. http://supervisord.org/logging.html#activity-log-rotation
  2. http://supervisord.org/configuration.html
posted @ 2018-06-14 11:33  Jay54520  阅读(6784)  评论(1编辑  收藏  举报