借助Monolog,将日志发送到stdout / stderr非常容易。我的示例使用的是stderr,但我认为与stdout相同。
您无需输入日志文件,只需输入首选的流路径
path: "php://stderr"
但是您还没有完成。您还必须相应地配置PHP。工人必须捕获其过程的输出,并将该输出再次记录到其stderr。
PHP配置
#/etc/php/7.0/fpm/php-fpm.conferror_log = /proc/self/fd/2#/etc/php/7.0/fpm/pool.d/www.confcatch_workers_output = yes
Symfony配置
# app/config/config_prod.ymlmonolog: handlers: main: type: fingers_crossed action_level: error handler: nested nested: type: stream path: "php://stderr" level: debug console: type: console
如果在胖docker容器中使用任何过程控制系统,则必须确保该系统也记录到stdout(或stderr)。
主管示例:
[supervisord]nodaemon=true;@see http://blog.turret.io/basic-supervisor-logging-with-docker/;we need the output from the controlled processes;but this is only possible with lowered loglevelloglevel=debug
总而言之,请确保:
- 应用程序登录到stdout / stderr
- PHP捕获工作人员输出并记录到stderr
- 可选:任何过程控制系统都必须将托管过程的输出转发到stdout / stderr
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)