Новое в Symfony 7.2: Silent Verbosity
- Pull Request: [Console] Add silent verbosity suppressing all output, including errors #53632 Wouter de Jong
При работе с некоторыми сторонними сервисами может потребоваться, чтобы приложение Symfony создавало логи в формате JSON для более удобной интеграции. К счастью, этого можно легко добиться с помощью интеграции Symfony с Monolog.
Однако при выполнении некоторых консольных команд они могут генерировать вывод как в потоке stdout, так и в потоке stderr. Это проблематично, если сторонний сервис ожидает только JSON-файлы логов и сталкивается с этими неструктурированными данными.
К счастью, в Symfony есть возможность контролировать многословность консольных команд. Добавьте опцию -q или --quiet к команде (или установите переменную окружения SHELL_VERBOSITY в значение -1), и при её выполнении не будет никакого вывода.
Единственное, что не подавляется при использовании уровня quiet, это ошибки и исключения. Чтобы решить эту проблему, в Symfony 7.2 мы вводим новый уровень под названием silent (эквивалентный переменной окружения SHELL_VERBOSITY=-2). Этот новый уровень подавляет весь вывод, включая ошибки и исключения:
# подавляет весь вывод
php bin/console some-command --silent
# подавляет весь вывод, кроме ошибок
php bin/console some-command --quiet