Symfony не регистрирует устаревания

я хочу, чтобы журнал вел себя как обычный php-журнал в производстве. Существует logrotate, и журналы сервера анализируются с помощью других инструментов.

Итак, я настроил свой config_prod.yml следующим образом:

monolog:
use_microseconds: false
handlers:
    main:
        type: error_log
        level: WARNING
    deduplicated:
        type: deduplication
        time: 60
        handler: main

Каким-то образом устаревание (через @trigger_error) также появляется в моем журнале.

Могу ли я как-то отключить ведение журнала устаревания? Мне они не нужны в prod, а только в dev.

С уважением. Патрик


person Patrick    schedule 10.10.2017    source источник


Ответы (1)


Вы можете попробовать исключить канал php из своего обработчика

use_microseconds: false
handlers:
  main:
    type: error_log
    level: WARNING
  deduplicated:
    type: deduplication
    time: 60
    handler: main
    channels: ['!php']
person Mocrates    schedule 10.10.2017
comment
Что здесь означает канал die? - person Patrick; 11.10.2017
comment
Я не знаю, обязательно ли устаревший проход по каналу php, но в моем проекте я тоже использую много обработчиков, и я ссылаюсь на этот документ, чтобы исключить некоторую часть: symfony.com/doc/current/logging/channels_handlers.html - person Mocrates; 11.10.2017
comment
К вашему сведению, этот канал включает в себя больше, чем просто устаревание. Например, он также содержит сообщения о неперехваченных исключениях во время рендеринга шаблона ветки. - person Maurice; 19.12.2019
comment
Кроме того, не все устаревания относятся к этому каналу. У некоторых устареваний вообще нет канала. - person Stormnorm; 20.10.2020