从哪里supervisorctl tail
获取某个进程的日志信息?如何获得完整的日志?
问问题
14440 次
1 回答
21
从命令行帮助 ( supervisorctl help tail
):
tail [-f] <名称> [stdout|stderr](默认标准输出) 前任: tail -f <name> 命名进程标准输出的连续尾部 Ctrl-C 退出。 tail -100 <name> 进程标准输出的最后 100 *bytes* tail <name> stderr last 1600 *bytes* of process stderr
因此,默认情况下,该tail
命令尾随进程标准输出。如果您需要获取完整的日志,该部分的stdout_logfile
选项[program:x]
决定了它的存储位置;还有一个stderr_logfile
选项。
如果该选项未设置或设置为AUTO
,则将在进程启动时创建日志文件,但在 supervisord 重新启动时将其清除。该文件在选项[supervisord]
childlogdir
设置的目录中创建(默认情况下是您平台的TMP
目录),并生成格式为 的文件名<program-name>-<stdout|stderr>---<supervisor-identifier>-<6-random-characters>.log
,例如varnish-stdout---supervisor-AqY52e.log
.
因此,如果您想访问整个标准输出日志,您至少需要将childlogdir
选项设置为固定目录,以免您不得不搜索正确的临时目录。
于 2012-07-09T09:56:18.360 回答