我目前在开发环境中运行Symfony 5项目。
我想输出请求日志(如10:01:39 request.INFO Matched route "login_route"
)到一个文件。
我有以下config/packages/dev/monolog.yaml
文件:
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: [event]
使用上面的YAML,当我执行bin/console cache:clear
时,它正确地记录到文件/tmp/dev-logs/dev.log
。
但是,当我在应用程序上执行请求时,它不记录任何内容,无论我设置channels: [request]
或channels: ~
,甚至根本没有channel
参数。
如何编辑monolog.yaml
文件的设置以记录请求通道日志?
我找到答案了!
实际上,我有两个Docker容器(它们都将项目目录挂载为卷)用于开发:
- 一个用于代码版(带有检查器、语法检查器、特定vim配置等)
- 一个使用PHP-FPM通过HTTP访问应用程序(当我在应用程序上发出HTTP请求时使用的那个)
所以,当我从我用于开发的第一个容器执行bin/console cache:clear
时,它会记录到第一个容器的/tmp/dev-logs/dev.log
文件;但是当我执行HTTP请求时,它会登录到第二个容器的/tmp/dev-logs/dev.log
文件;
我正在检查第一个容器文件,而它正在登录到第二个容器文件。所以,我只是没有检查正确的文件。
一切正常。:)