Свойства журнала не записываются в Serilog

Например, у меня есть функция doSomething(string a, string b, string c), И я хочу протоколировать выполнение функции. Я хочу сделать что-то вроде этого:

Logger.Debug("Method doSomething executed", a, b, c)

чтобы избежать записи параметров в сообщение, строки могут быть очень длинными. Эта функциональность похожа на .Enrich.WithProperty("PropertyName", Value), Но я не могу сделать это в конструкторе Logger. Логи пишет в SEQ,

1 ответ

ForContext() можно сделать это:

var enriched = Log.ForContext("A", a)
                  .ForContext("B", b)
                  .ForContext("C", c);

enriched.Debug("Method doSomething executed");

Все события зарегистрированы через enriched будет иметь свойства A, B а также C прилагается.

Другие вопросы по тегам