记录 – Supervisord不显示进程的stdout

前端之家收集整理的这篇文章主要介绍了记录 – Supervisord不显示进程的stdout前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

尝试使用docker中的主管捕获我的应用程序的日志.

这是我的supervisord.conf:

  1. [supervisord]
  2. logfile=/dev/null
  3. nodaemon=true
  4. [program:autofs]
  5. command=automount -f
  6. redirect_stderr=true
  7. stdout_logfile=/dev/stdout
  8. stdout_logfile_maxbytes=0
  9. [program:split-pdf]
  10. command=bin/split-pdf-server
  11. directory=/root/split-pdf
  12. redirect_stderr=true
  13. stdout_logfile=/dev/stdout
  14. stdout_logfile_maxbytes=0

启动容器后一切正常,我可以看到我的应用程序运行的结果(它在网络共享上创建pdf文件)

但是日志显示我的应用没有输出

  1. 015-07-02 00:39:26,119 CRIT Supervisor running as root (no user in config file)
  2. 2015-07-02 00:39:26,124 INFO supervisord started with pid 5
  3. 2015-07-02 00:39:27,127 INFO spawned: 'split-pdf' with pid 8
  4. 2015-07-02 00:39:27,130 INFO spawned: 'autofs' with pid 9
  5. 2015-07-02 00:39:28,132 INFO success: split-pdf entered RUNNING state,process has stayed up for > than 1 seconds (startsecs)
  6. 2015-07-02 00:39:28,132 INFO success: autofs entered RUNNING state,process has stayed up for > than 1 seconds (startsecs)

这是我在附加到docker容器时看到的唯一输出.

我在ubuntu 15.04 docker 1.7.0上

这不是this question的副本,因为我在容器中运行多个进程.

事实证明一切正常,但有一些延迟.
当我尝试为其他应用程序创建容器以生成更多日志消息时,消息开始出现在日志文件中,但有延迟.

我测试的第一个应用程序在日志中每个任务只有2行,我想在开始刷新到日志文件之前需要填充某种缓冲区.

猜你在找的Docker相关文章