Skip to content

v0.3.0

Latest

Choose a tag to compare

@Stivo182 Stivo182 released this 15 Oct 20:19

Классификация неструктурированных ошибок

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

Что нового

  • Классификация ошибок. Добавлены классы КлассификаторОшибок и ПравилоКлассификацииОшибок для определения кода ошибки по нативному типу .NET, точному сообщению, префиксу, фрагменту или окончанию текста.
  • Декларативные правила. Поддерживаются сочетания условий, приоритеты и идентификаторы правил. При неоднозначном совпадении разных кодов классификатор возвращает Неопределено.
  • Поставщики правил. Правила можно регистрировать напрямую или подключать через поставщиков с ленивой загрузкой. Подготовленные правила и индексы кешируются.
  • Работа с цепочками причин. Классификатор учитывает вложенные структурированные ошибки и восстанавливает сообщения нативных исключений из подробного представления ошибки.
  • Локализация. Условия и описания ошибок поддерживают шаблоны НСтр для русского и английского языков.
  • Сохранение диагностики. Результат классификации содержит нормализованный код, описание и сведения о сработавшем правиле. Исходная цепочка ошибок сохраняется для дальнейшего анализа.

Документация и тестирование

  • Добавлены руководства по классификатору и правилам классификации.
  • Обновлён README и добавлен практический пример классификации внешнего исключения.
  • Добавлены модульные тесты и бенчмарки, включая измерение производительности при увеличении числа правил.

Full Changelog: v0.2.1...v0.3.0