记录未在Serilog中记录的属性

时间:2015-11-24 11:30:45

标签: c# logging serilog getseq

例如,我有函数doSomething(string a, string b, string c)。我想记录功能执行。我想做这样的事情:

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

避免在消息中写入参数,因为字符串可能很长。此功能类似于.Enrich.WithProperty("PropertyName", Value)。 但我无法在Logger构造函数中执行此操作。 日志写入SEQ

1 个答案:

答案 0 :(得分:1)

ForContext()可以执行此操作:

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

enriched.Debug("Method doSomething executed");

通过enriched记录的所有事件都会附加ABC属性。