Новое в Symfony 7.2: Silent Verbosity

Источник: «New in Symfony 7.2: Silent Verbosity»
Symfony 7.2 представляет silent verbosity для подавления всего вывода, включая ошибки.

При работе с некоторыми сторонними сервисами может потребоваться, чтобы приложение 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

Комментарии


Дополнительные материалы

Предыдущая Статья

Что такое Docker и как он устроен

Следующая Статья

Напоминание, что @scope и блоки стилей HTML — это мощное сочетание