将弃用记录到 symfony 生产中自己的文件中

Pat*_*ick 5 php symfony monolog

我有多个以 Symfony 为基础的生产车间。现在我想编写一个日志文件来记录所有弃用情况。

我希望它们出现在“deprecated.log”文件中。这些弃用内容稍后会读入 kibana。

独白自述文件说

警告 (300):并非错误的异常情况。示例:使用已弃用的 API、API 使用不当、不受欢迎但不一定是错误的事情。

https://github.com/Seldaek/monolog/blob/master/doc/01-usage.md

所以我尝试了这个配置

monolog:
use_microseconds: false
handlers:
    main:
        type: group
        members: [errors, deprecations]
    errors:
        type: error_log
        level: ERROR
    deprecations:
        type: stream
        level: WARNING
        path: '%kernel.logs_dir%/deprecated.log'
        channels: [php]
Run Code Online (Sandbox Code Playgroud)

deprecated.log没有生成。我的错误是什么?错误日志似乎有效,但不是我的弃用。

Rok*_*kas 4

到处查了一下,这个解决方案非常好。但更好的是,从 5.1 开始,就有了弃用通道

从 Symfony 5.1 开始,弃用被记录在专用的“弃用”通道中(如果存在)
monolog:
channels: [deprecation]
handlers:
    deprecation:
        type: stream
        channels: [deprecation]
        path: php://stderr //or file path like '%kernel.logs_dir%/deprecated.log'
Run Code Online (Sandbox Code Playgroud)