supervisord禁用日志文件或使用logfile = / dev / stdout

时间:2017-08-12 01:44:33

标签: docker supervisord

[supervisord]
nodaemon=true
logfile=/dev/stdout
pidfile=/var/run/supervisord.pid
childlogdir=/var/log/supervisor

当我这样做时,主管会崩溃,因为它无法在/ dev / stdout中寻找

如何在docker容器中禁用supervisord创建任何日志文件?

1 个答案:

答案 0 :(得分:11)

对于主要主管,nodaemon将导致日志转到stdout

[supervisord]
nodaemon=true
logfile=/dev/null
logfile_maxbytes=0

然后将每个托管进程的日志发送到stdout文件描述符/dev/fd/1

[program:x]
command=echo test
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true

或者如果您希望将stderr保留在不同的流上:

[program:x]
command=echo test
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
stderr_logfile=/dev/fd/2
stderr_logfile_maxbytes=0