Serilog Динамическое обогащение контекста - PullRequest
0 голосов
/ 29 мая 2020

Есть ли возможность динамически переопределить или расширить шаблон журнала в Serilog?

У меня есть класс парсера, который анализирует XML строка за строкой, и я хочу расширить запись журнала номером строки. Я уже написал расширенный вариант, который это делает, но мне нужно глобально переопределить регистратор по умолчанию в начале функции и сбросить его в конце, что трудно даже смотреть (с точки зрения программирования): D

Какие еще варианты с Serilog, или я что-то пропустил?

1 Ответ

0 голосов
/ 29 мая 2020

После еще нескольких копаний я наконец нашел решение, соответствующее моим потребностям.

Я использовал механизм LogContext.PushProperty для pu sh XmlReader (или, скорее, объекта-оболочки, потому что тип - сопоставление с деструктуризацией является точным, и XmlReader - это фабрика, которая возвращает много разных классов) в LogContext и добавила настраиваемую деструктуризацию в LoggerConfiguration для обнаружения объектов этого типа оболочки и затем отформатируйте ее по своему вкусу.

...