supervisor 日志轮转
Supervisord 会基于 logfile_maxbytes
和 logfile_backups
轮转日志。当活跃日志文件大小达到 logfile_maxbytes
,这个文件会被重命名为备份文件,然后 supervisord 会创建一个新的活跃日志文件。当上述情况发生时,如果已有备份文件的数量大于等于 logfile_backups
,那么最旧的备份文件会被移除,然后其他剩余的日志文件会据此调整命名。
假如活跃日志名叫 supervisord.log
,logfile_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>
是之前的日志而不是当前活跃日志的备份,并且数字越大,日志越旧。