supervisor不一样的日志轮转

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

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

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

 

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不一样的日志轮转

 

 

 以这个配置为例:

# 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)多看官方文档(我看过一个翻译的帖子,阐述错误)。

 

上一篇:mac安装和使用supervisor


下一篇:linux 配置启动supervisor详细