应用程序/自定义日志魔术与docker上的php-fpm

我有一些基于stream明框架的PHP应用程序的基本设置。 该应用程序运行在php7.1 / php-fpm容器内的php7.1 / php-fpm 。 (Apache在其他docker容器中)

基本上,我需要的是从我的应用程序(使用monolog)直接login到stderr ,所以我可以看到他们与docker日志。


该应用程序configuration为login到stderr并正常工作,但FPM捕捉输出并将其写入文件!

/var/log/php-fpm/error.log (它被configuration为在这里login?)

 [09-Nov-2017 10:06:56] WARNING: [pool www] child 303 said into stderr: "hello, world" [09-Nov-2017 10:06:56] WARNING: [pool www] child 300 said into stderr: "hello, world" [09-Nov-2017 10:06:57] WARNING: [pool www] child 359 said into stderr: "hello, world" 

访问日志正确地进入stderr

而最好的部分:

  • FPM configuration为logging到文件( error.log
  • error_log更改为其他文件时,worker的输出将会到达那里,但是现在访问日志将被写入/var/log/php-fpm/error.log而不是stderr

组态

php-fpm -tt && php -i | grep error


PHP-FPM


[全球]

 error_log = /proc/self/fd/2 log_level = unknown value daemonize = no events.mechanism = epoll 

[万维网]

 listen = 0.0.0.0:9000 access.log = /proc/self/fd/2 slowlog = /var/log/php-fpm/www-slow.log catch_workers_output = yes clear_env = no php_admin_value[log_errors] = 1 

PHP


 display_errors => Off display_startup_errors => Off error_append_string => no value error_log => no value error_prepend_string => no value error_reporting => 22527 html_errors => Off ignore_repeated_errors => Off log_errors => On log_errors_max_len => 1024 track_errors => Off 

我在这里错过了什么?