我有LEMP复合docker容器,由 docker-compose 编译。
我需要将所有WARNING日志从我的PHP应用程序重定向到容器的STDOUT流; 它只适用于supervisord loglevel = debug :
的选项[supervisord]
nodaemon=true
loglevel=debug
然后,来自PHP应用程序的日志广播到STDOUT:
lemp_1 | lemp_1 | 2017-07-11 19:09:29,524 DEBG'php-fpm'stdout 输出:lemp_1 | [11-Jul-2017 19:09:29]警告:[pool www] child 13 对stdout说:“[2017-07-11 19:09:29] app.NOTICE:你好世界[] []”
如果我将参数设置为supervisord部分[supervisord]
loglevel=warn
(或信息,错误,警报等..)我的stdout流中根本没有日志!
我需要传递给仅活动日志的消息,具有WARN级别和更高级别。
supervisord “如何理解”,从应用程序收到的日志消息级别如何?
可能它有任何日志消息格式的规范?
或者没有足够的设置?
主管配置:
[program:php-fpm]
command=php-fpm -F
autostart=true
autorestart=true
priority=5
stdout_events_enabled=true
stderr_events_enabled=true
redirect_stderr=true
[program:nginx]
command=nginx -g 'daemon off;'
autostart=true
autorestart=true
priority=10
stdout_events_enabled=true
stderr_events_enabled=true
redirect_stderr=true
[supervisord]
nodaemon=true
loglevel=debug
答案 0 :(得分:1)
你需要告诉主管将容器的标准输出写入自己的supervisord的日志,宽度:
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
所以你的配置是:
[program:php-fpm]
command=php-fpm -F
autostart=true
autorestart=true
priority=5
stdout_events_enabled=true
stderr_events_enabled=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
redirect_stderr=true
[program:nginx]
command=nginx -g 'daemon off;'
autostart=true
autorestart=true
priority=10
stdout_events_enabled=true
stderr_events_enabled=true
redirect_stderr=true
[supervisord]
nodaemon=true
loglevel=debug