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

supervisor 日志轮转的更多相关文章

  1. logrotate日志轮转配置文档

    转自:http://blog.163.com/bull_linux/blog/static/2138811422013101334544349/ 使用:    logrotate CONF_FILE+ ...

  2. 基于Spring Boot的Logback日志轮转配置

    在生产环境下,日志是最好的问题调试和跟踪方法,因此日志的地位是十分重要的.我们平时经常使用的log4j,slf4j,logback等等,他们的配置上大同小异.这里就结合Spring Boot配置一下L ...

  3. docker中实现服务日志轮转

    问题背景 通常我们一个完整的应用镜像有两部分组成,一个是运行时环境,一个是应用程序.我们以php应用为例,一个完整的php应用需要包含openresty + php两个服务来配置运行时环境,然后再加上 ...

  4. logrotate日志轮转

    1)基本介绍 适合应用服务日志,系统日志按天切割 如果没有日志轮转,日志文件会越来越大 将丢弃系统中最旧的日志文件,以节省空间 logrotate本身不是系统守护进程,它是通过计划任务crond每天执 ...

  5. python日志轮转RotatingFileHandler在django中的一个bug

    简介 大量过时的日志会占用硬盘空间,甚至长时间运行不注意会占满硬盘导致宕机,那么就可以使用内建logging模块根据文件大小(logging.handlers.RotatingFileHandler) ...

  6. 09、日志轮转+rsync同步

    logrotate   -  rotates,  compresses,  and    mails system logs 日志轮转 rotate 日志切割 轮转   切割   备份   归档 常见 ...

  7. apache日志轮转

    apache默认的日志配置为:     ErrorLog "logs/error_log"     CustomLog "logs/access_log" co ...

  8. python logging 日志轮转文件不删除问题

    前言 最近在维护项目的python项目代码,项目使用了 python 的日志模块 logging, 设定了保存的日志数目, 不过没有生效,还要通过contab定时清理数据. 分析 项目使用了 logg ...

  9. Apache自带的rotatelogs实现日志轮转

    用Apache自带的rotatelogs程序处理apache生成的日志自动截断重新生成,rotatelogs是一个配合Apache管道日志功能使用的简单程序.设置方法如下: 编辑Apache的主配置文 ...

随机推荐

  1. python—networkx:在一张图中画出多个子图

    通过plt.subplot能够在一张图中画出多个子图 #coding: utf-8 #!/usr/bin/env python """ Draw a graph with ...

  2. Visual Studio:error MSB8020

    状况如下: error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build ...

  3. tortoiseGit 如何github提交代码

    由于一直用的都是SVN提交代码,Git也是目前自己边学边用的,本来以为自己已经会用了,可是一段时间没用又忘了 ,所以赶紧整理整理记下来,以便日后使用! 转自:http://blog.csdn.net/ ...

  4. FreeRTOS官方翻译文档——第二章 队列管理

    2.1 概览基于 FreeRTOS 的应用程序由一组独立的任务构成——每个任务都是具有独立权限的小程序.这些独立的任务之间很可能会通过相互通信以提供有用的系统功能.FreeRTOS 中所有的通信与同步 ...

  5. strcmp在CTF中的案例

    当strcmp比较出错的时候就会为null.null即为0故输出flag. strcmp(arr,str); ?test[]=1 <?php define('FLAG', 'pwnhub{THI ...

  6. Spider Studio 新版本 (20140109) - 修复浏览器对部分网页不支持的BUG

    SS对部分网页中引用的jquery.js有冲突, 会造成网页部分JS效果无法正常执行. 本次版本对其进行了修正, 优化了浏览器的脚本引用机制, 修正了这个BUG.

  7. 在MySQL应用上的挑战

    本期采访的讲师是来自腾讯高级软件工程师 雷海林,他有着10年以上的Linux后台Server开发经验,目前主要从事分布式Cache.实时大数据处理引擎,分布式MySQL(TDSQL)设计和开发工作. ...

  8. 解决centos7 开机/etc/rc.local 不执行的问题

    最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了 ? 1 2 3 4 5 6 7 8 9 10 11 #!/bi ...

  9. CI 多表关联查询

    方法一:$this->db->query("sql  语句");     直接写sql语句 方法二: #多表关联查询 $data=$this->db->fr ...

  10. Android不同版本下Notification创建方法

    项目环境 Project Build Target:Android 6.0 问题: 使用 new Notification(int icon, CharSequence tickerText, lon ...