【问题标题】:How does `supervisorctl tail` work, for a given process?对于给定的进程,“supervisorctl tail”是如何工作的?
【发布时间】:2012-07-08 16:06:53
【问题描述】:

supervisorctl tail从哪里获取某个进程的日志信息?如何获得完整的日志?

【问题讨论】:

    标签: python logging supervisord


    【解决方案1】:

    来自命令行帮助 (supervisorctl help tail):

    tail [-f] [stdout|stderr](默认标准输出) 前任: tail -f 命名进程标准输出的连续尾部 Ctrl-C 退出。 tail -100 进程标准输出的最后 100 *bytes* tail stderr last 1600 *bytes* of process stderr

    所以默认情况下,tail 命令尾随进程标准输出。如果您需要获取完整的日志,stdout_logfile option of the [program:x] section 会确定存储的位置;还有一个stderr_logfile 选项。

    如果该选项未设置或设置为AUTO,则在进程启动时将创建一个日志文件,但在 supervisord 重新启动时会清除该日志文件。该文件在the [supervisord] childlogdir option 设置的目录中创建(默认为您平台的TMP directory),并具有<program-name>-<stdout|stderr>---<supervisor-identifier>-<6-random-characters>.log 形式的生成文件名,例如varnish-stdout---supervisor-AqY52e.log.

    因此,如果您想访问整个标准输出日志,您至少需要将childlogdir 选项设置为固定目录,以免您必须搜索正确的临时目录。

    【讨论】:

      猜你喜欢
      • 2014-07-12
      • 2018-01-16
      • 2023-03-10
      • 2017-10-29
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 2017-01-29
      • 2013-10-08
      相关资源
      最近更新 更多