使用属性丰富 Seq 日志语句,而不将它们也包含在消息行中(使用 Serilog)
Enrich Seq log statements with properties without also including them in the message line (using Serilog)
我正在将 Serilog 与 Seq 结合使用,并希望使用我自己的属性来丰富出现在 Seq 中的日志记录。
如果我输入这样的日志语句...
Log.Information("ProcessCycle {Site} {Activity}", SiteName, ActivityName);
在 Seq 中我得到...
请注意站点和 Activity 值在 Seq 中显示为丰富的属性,但它们也显示在整个消息中。
如何记录我在哪里获得了丰富的属性,但没有在文本消息行中显示这些值?请注意,我有一个 NuGet 包,它为每个调用添加了一个 ThreadId。我希望 Site 和 Activity 属性在丰富的道具列表中,但不一定打印在消息行中。
这个问题的答案可能还需要了解我们的应用程序。
该应用程序是一个 windows 服务,它生成多个执行不同操作的活动。因此 windows 服务协调其中包含的各种活动。按照计划,它只是在每个 activity 上调用 'Process' 来完成一些工作。每次流程由编排器调用时,我需要通过 Activity 进行所有记录以自动包含 Site 和 Activity 值,如上所示(以及更多 属性 值,但我不'希望它全部打印在消息行中)。
所以我们将看到的不是上面的条目,而是......
请注意,消息现在显示为 "ProcessCycle".
Log.Information("ProcessCycle {Site} {Activity}", SiteName, ActivityName);
需要改为:
Log.ForContext("Site",SiteName)
.ForContext("Activity",ActivityName)
.Information("ProcessCycle")
随心所欲地渲染。
您还可以执行 Enrich.FromLogContext
和 LogContext.PushProperty
以更全面地执行此操作(搜索这两个字符串以查找示例)。
约翰·利弗莫尔添加
有关 FromLogContext 和其他方法的更多信息,请访问...
https://nblumhardt.com/2016/08/context-and-correlation-structured-logging-concepts-in-net-5/
FromLogContext 创建一个 ILogger,可在后续日志记录调用的范围内使用。
我正在将 Serilog 与 Seq 结合使用,并希望使用我自己的属性来丰富出现在 Seq 中的日志记录。
如果我输入这样的日志语句...
Log.Information("ProcessCycle {Site} {Activity}", SiteName, ActivityName);
在 Seq 中我得到...
请注意站点和 Activity 值在 Seq 中显示为丰富的属性,但它们也显示在整个消息中。
如何记录我在哪里获得了丰富的属性,但没有在文本消息行中显示这些值?请注意,我有一个 NuGet 包,它为每个调用添加了一个 ThreadId。我希望 Site 和 Activity 属性在丰富的道具列表中,但不一定打印在消息行中。
这个问题的答案可能还需要了解我们的应用程序。
该应用程序是一个 windows 服务,它生成多个执行不同操作的活动。因此 windows 服务协调其中包含的各种活动。按照计划,它只是在每个 activity 上调用 'Process' 来完成一些工作。每次流程由编排器调用时,我需要通过 Activity 进行所有记录以自动包含 Site 和 Activity 值,如上所示(以及更多 属性 值,但我不'希望它全部打印在消息行中)。
所以我们将看到的不是上面的条目,而是...... 请注意,消息现在显示为 "ProcessCycle".
Log.Information("ProcessCycle {Site} {Activity}", SiteName, ActivityName);
需要改为:
Log.ForContext("Site",SiteName)
.ForContext("Activity",ActivityName)
.Information("ProcessCycle")
随心所欲地渲染。
您还可以执行 Enrich.FromLogContext
和 LogContext.PushProperty
以更全面地执行此操作(搜索这两个字符串以查找示例)。
约翰·利弗莫尔添加
有关 FromLogContext 和其他方法的更多信息,请访问... https://nblumhardt.com/2016/08/context-and-correlation-structured-logging-concepts-in-net-5/
FromLogContext 创建一个 ILogger,可在后续日志记录调用的范围内使用。