我有一个 Symfony 网站,它介于实际实现和登台之间(我的一个特殊客户使用它)。该服务器上的日志记录保持打开状态,因为这有助于在不时出现问题时提供帮助(并且它们经常以非明显、非错误/异常的方式出错)。大多数记录的行都是由 Doctrine 执行的查询,这对我来说非常有用,但是我确实手动禁用了一些巨大的、重复的和经过良好测试的操作的日志记录,这些操作会发送数百个查询,以使日志更易于导航, 如果需要的话。
我的问题是:如何禁用从 Symfony Messenger 组件内部完成的日志记录?具体来说,由学说传输(我使用)完成的日志记录,它每秒用以下行向我的日志发送垃圾邮件(乘以我运行的 supervisord 进程的数量):
[2020-08-24 14:19:25] doctrine.DEBUG: "START TRANSACTION" [] []
[2020-08-24 14:19:25] doctrine.DEBUG: SELECT m.* FROM messenger_messages m WHERE (m.delivered_at is null OR m.delivered_at < ?) AND (m.available_at <= ?) AND (m.queue_name = ?) ORDER BY available_at ASC LIMIT 1 FOR UPDATE ["2020-08-24 13:19:25","2020-08-24 14:19:25","default"] []
[2020-08-24 14:19:25] doctrine.DEBUG: "COMMIT" [] []
由于这些消息是由原则生成的,我无法通过日志通道将它们过滤掉 - 因为这会禁用所有原则日志消息,这不是我想要的。我也不想将日志记录级别提高到高于 DEBUG 的级别。我只想从日志中删除这些特定消息。