我正在将 Serilog 与 Seq 一起使用,并希望使用我自己的属性来丰富 Seq 中出现的日志记录。
如果我输入一个日志语句,如......
Log.Information("ProcessCycle {Site} {Activity}", SiteName, ActivityName);
在序列中,我得到...
请注意,站点和活动值在 Seq 中显示为丰富的属性,但它们也显示在整体消息中。
如何记录我获得丰富属性的位置,但文本消息行中没有显示值?请注意,我有一个 NuGet 包,它为每个调用添加了一个 ThreadId。我希望 Site 和 Activity 属性位于丰富的道具列表中,但不一定打印在消息行中。
这个问题的答案可能还需要了解我们的应用程序。
该应用程序是一个 Windows 服务,它产生多个执行不同操作的活动。因此,Windows 服务会编排其中包含的各种活动。在时间表上,它只是在每个活动上调用“流程”以开始并做一些工作。每次流程被编排器调用时,我都需要该 Activity 的所有日志记录以自动包含 Site 和 Activity 值,如上所示(以及更多属性值,但我不希望它们全部打印在消息行中)。
因此,我们将看到的不是上面的条目,而是...注意消息现在只显示“ProcessCycle”。