mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-03-24 20:12:04 +00:00
2.9 KiB
2.9 KiB
ADDED Requirements
Requirement: Сущность адаптера логирования
Адаптер MUST предоставлять TalkerCherryPickObserver, реализующий CherryPickObserver.
Scenario: Доступность адаптера
- WHEN разработчик импортирует пакет адаптера
- THEN
TalkerCherryPickObserverдоступен для использования
Requirement: Жизненный цикл наблюдателя
Наблюдатель MUST подключаться при создании scope и работать в течение жизненного цикла этого scope.
Scenario: Подключение наблюдателя
- WHEN observer передан при открытии scope
- THEN все DI‑события в scope направляются в Talker
Requirement: Маппинг уровней логирования
Адаптер MUST маршрутизировать DI‑события в Talker с корректными уровнями (info/warning/verbose/handle).
Scenario: Диагностика
- WHEN DI‑ядро генерирует диагностическое событие
- THEN адаптер логирует его как verbose
Scenario: Ошибка резолва
- WHEN DI‑ядро генерирует ошибку
- THEN адаптер логирует ее через
handleи включает stack trace при наличии
Requirement: Ненавязчивость поведения
Адаптер MUST быть наблюдателем и не изменять DI‑поведение, жизненный цикл или кэширование.
Scenario: Разрешение с адаптером
- WHEN адаптер подключен
- THEN резолв и поведение DI не изменяются, кроме появления логов
Requirement: Ошибки логирования
Адаптер MUST передавать ошибки логирования как есть и не содержит собственной обработки исключений.
Scenario: Исключение в Talker
- WHEN Talker выбрасывает исключение при логировании
- THEN исключение пробрасывается вызывающему коду
Requirement: Точки расширения
Адаптер MUST позволять использовать пользовательские настройки Talker без изменения адаптера.
Scenario: Кастомная конфигурация Talker
- WHEN пользователь передает кастомный Talker
- THEN адаптер использует переданную конфигурацию для всех DI‑событий