Каждая значимая операция, проверка контракта или изменение состояния ДОЛЖНЫ
сопровождаться структурированной записью в лог для обеспечения полной
трассируемости и отлаживаемости.
Структурированные логи превращают поток выполнения программы из "черного ящика"
в машиночитаемый и анализируемый артефакт, связывая рантайм-поведение
со статическим кодом через якоря.
Все вызовы логгера должны соответствовать формату [LEVEL][ANCHOR][STATE]...
Нарушен структурный формат лога. Ожидается: [LEVEL][ANCHOR][STATE] message.
Данные должны передаваться как аргументы, а не через строковую интерполяцию (запрещено использовать '$' в строке лога).
Обнаружена строковая интерполяция ('$') в сообщении лога. Передавайте данные как аргументы.
Прямые вызовы логгера (logger.*, Timber.*) запрещены в модуле :domain.
Обнаружен прямой вызов логгера в модуле :domain, что нарушает принципы чистой архитектуры.