如何将请求通道记录到日志文件中?



我目前在开发环境中运行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文件;

我正在检查第一个容器文件,而它正在登录到第二个容器文件。所以,我只是没有检查正确的文件。

一切正常。:)

最新更新