应用程序/自定义日志魔术与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
我在这里错过了什么?