Как отключить deprecation log в Symfony?

В Symfony deprecation log представляет собой сообщения остаревших (deprecated) функций и методов в коде, которые в будущих версиях могут быть полностью удалены. У вас может появиться необходимость отключить логирование deprecation сообщений по разным причинам, например, чтобы улучшить производительность или избежать лишнего шума в логе.

В Symfony 2 и 3 вы можете отключить deprecation log, добавив следующую конфигурацию в файл app/config/config.php:

ini_set('error_reporting', E_ALL ^ E_DEPRECATED);

Эта настройка устанавливает режим отчетности об ошибках со значением E_ALL за исключением E_DEPRECATED (т.е. все ошибки, кроме отключенных). Это отключит логирование deprecation сообщений.

В Symfony 4 и более поздних версиях, начиная с Symfony Flex, подключен компонент Monolog, который предоставляет возможность легко настроить логирование. Вы можете создать файл конфигурации monolog.yaml в каталоге config/packages со следующим содержимым:

monolog:
    handlers:
        main:
            type: stream
            path: '%kernel.logs_dir%/%kernel.environment%.log'
            level: error
            channels: ['!deprecation']

В этой конфигурации определен handler main, который записывает логи в файл, указанный в %kernel.logs_dir% с именем, зависящим от окружения.
Параметр level: error означает, что будут записываться только ошибки и более серьезные сообщения.

Если вы хотите отключить логирование deprecation сообщений, добавьте !deprecation в параметр channels, чтобы они не записывались.

Также в Symfony 4+ вы можете установить параметр deprecation_logging в значение false в файле .env:

# .env
deprecation_logging=false

Это изменит значение %env(deprecation_logging)% в файле config/packages/framework.yaml:

framework:
    deprecation_logging: '%env(deprecation_logging)%'

Теперь логирование deprecation сообщений будет отключено.

Обратите внимание, что отключение deprecation логов является временным решением. Лучшей практикой является обновление кода, чтобы устранить все остаревшие элементы, и включение логирования для быстрого обнаружения остальных проблем.