Symfony记录到Docker容器内的stdout

Symfony记录到Docker容器内的stdout,第1张

Symfony记录到Docker容器内的stdout

借助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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4987651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存