出于项目需求,需要读取某个进程的最新日志,而这个进程刚好是supervisor管控。

很自然地我就想到了,根据日志的编辑时间排序,获取最新的日志文件。

然而,发现了奇怪的一幕:

发现什么没有?

webcgj-0.std这个最初的日志编辑时间居然比webcgj-0.std.1的编辑时间完。不应该是webcgj-0.std写满了,再去写webcgj-0.std.1, 然后webcgj-0.std.2等等吗?

当然不是!

××××××××××××××××××××××××××××××××××××××××××××      来自官方文档的解释      ××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

http://supervisord.org/logging.html#activity-log-rotation

以这个配置为例:

# supervisor配置文件
logfile =xxx.log
logfile_maxbytes = 50MB
logfile_backups=2

当进程启动时,创建xxx.log日志:

1、当xxx.log超过50M(logfile_maxbytes = 50MB)后, xxx.log更名为xxx.log.1(logfile_backups=2), 创建新文件xxx.log;

2、当xxx.log超过50M(logfile_maxbytes = 50MB)后,xxx.log.1更名为xxx.log.2(logfile_backups=2), xxx.log更名为xxx.log.1(logfile_backups=2), 创建新文件xxx.log;

3、当xxx.log超过50M(logfile_maxbytes = 50MB)后,xxx.log.2被删除(logfile_backups=2,且他是最老的日志), xxx.log.1更名为xxx.log.2(logfile_backups=2), xxx.log更名为xxx.log.1(logfile_backups=2), 创建新文件xxx.log;

4、无限循环3

我说清楚没?

得出两个结论:

(1)配置文件中日志名对应的日志是对应进程最新的日志数据;

(2)多看官方文档(我看过一个翻译的帖子,阐述错误)。

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. supervisor 日志轮转

    Supervisord 会基于 logfile_maxbytes 和 logfile_backups 轮转日志.当活跃日志文件大小达到 logfile_maxbytes,这个文件会被重命名为备份文件, ...

  8. apache日志轮转

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

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

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

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

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

随机推荐

  1. 手写reduce()

    function reduce(arr, callBack ,initVal){ if(!Array.isArray(arr) || !arr.length || typeof callBack != ...

  2. VAE变分自编码器公式推导

    VAE变分推导依赖数学公式 (1)贝叶斯公式:\(p(z|x) = \frac{p(x|z)p(z)}{p(x)}\) (2)边缘概率公式:\(p(x) =\int{p(x,z)}dz\) (3)KL ...

  3. 钉钉-E应用开发初体验(企业内部应用)

    首先要创建应用,如何创建参考 https://open-doc.dingtalk.com/microapp/bgb96b/gt5d6a 下载 钉钉E应用服务端demo   git clone http ...

  4. js实现不同的域名 输出不同的结果

    js实现域名判断后跳转到指定网址,也适用于同一虚拟空间放多个网站: <script> try { if(self.location == "http://apple.baidu. ...

  5. Unity3D——关于质量的设置

    在Unity3D中,你开发一款游戏,可能需要同时发布到不同平台中.比如,对于PC平台,你可能需要引擎打包高质量的材质纹理,光照图信息.而对于Mobile平台,由于CPU上载数据到GPU需要一定宽带,想 ...

  6. Coursera Programming Languages, Part C 华盛顿大学 Week 2

    week 2 我们采用一种新的视角来对比 FP 与 OOP,即将问题分解 (decompose) 与实现 (implement) 的方式 OOP Versus Functional Decomposi ...

  7. Jenkins项目中的Performance Trend图表不显示

    权限问题:chmod 777 /.../*.jtl 其中上述目录为jmeter生成jtl格式的结果报告的路径,也就是ant对应build.xml里配置好的路径.

  8. CVPixelBufferRef

    在iOS里,我们经常能看到 CVPixelBufferRef 这个类型,在Camera 采集返回的数据里得到一个CMSampleBufferRef,而每个CMSampleBufferRef里则包含一个 ...

  9. ssh通过sock5的问题kex_exchange_identification: Connection closed by remote host

    工作需要,连接几台外网的服务器.由于移动的网络直连,经常会连不上,所以想通过本地的sock5代理连接. 神奇的事情发送了,通过sock5代理,有几台主机可以连上,有几天报上面的错误. 经过反复测试,外 ...

  10. 廖雪峰JS知识点整理——快速入门

    基本语法 1.每个语句以:结尾. 2.单行注释://... 3.多行注释:/*... ...*/ 数据类型和变量 运算 1.==自动转换数据类型在比较,不推荐使用 2.===不会转换数据类型,推荐使用 ...