Новое в Symfony 5.3: Улучшения логирования

Сброс логгера в воркерах Messenger

Одним из наиболее важных элементов компонента Messenger являются воркеры, которые обрабатывают сообщения. В Symfony 4.4 улучшили воркеры процессы для автоматической очистки диспетчера сущностей Doctrine после обработки (или сбоя) каждого сообщения, чтобы избежать проблем с устаревшими сущностями.

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

Логирования устаревших версий в отдельный файл

Обещание обратной совместимости Symfony гарантирует, что вы можете обновлять свои приложения между второстепенными и патч-версиями Symfony без необходимости изменять свой код, чтобы он работал с новыми или измененными функциями Symfony.

Ключевым моментом этой политики является отказ от поддержки, то есть сообщения, которые заранее предупреждают вас о функциях, которые будут изменены/исчезнут в будущих основных версиях Symfony. При запуске тестов с мостом Symfony PHPUnit вы видите список устаревших в выводе консоли. Однако в сложных приложениях этот список слишком длинный, что нецелесообразно.

Вот почему в Symfony 5.3 у вас есть возможность записывать устаревшие версии в отдельный файл при запуске тестов. Для этого используйте новую опцию logFile переменной среды SYMFONY_DEPRECATIONS_HELPER:

 SYMFONY_DEPRECATIONS_HELPER='logFile=/path/to/deprecations.log' ./vendor/bin/simple-phpunit