Новое в 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