【发布时间】:2020-02-27 20:36:33
【问题描述】:
使用 Serilog 将事件记录到 Windows 事件日志很容易,但是同一个接收器似乎不提供使用日志写入自定义事件 ID 的能力。因此,如果我们决定为我们的应用程序使用事件 ID 4000,我们如何配置 Serilog 以将该事件 ID 连同源、描述等一起写入事件日志?
【问题讨论】:
标签: c# asp.net-core serilog
使用 Serilog 将事件记录到 Windows 事件日志很容易,但是同一个接收器似乎不提供使用日志写入自定义事件 ID 的能力。因此,如果我们决定为我们的应用程序使用事件 ID 4000,我们如何配置 Serilog 以将该事件 ID 连同源、描述等一起写入事件日志?
【问题讨论】:
标签: c# asp.net-core serilog
要自定义EventID,您必须实现自己的IEventIdProvider 和tell the sink 以使用您的提供程序而不是default one。
.WriteTo(..., eventIdProvider: yourProvider)
public static LoggerConfiguration EventLog(
this LoggerSinkConfiguration loggerConfiguration,
string source,
string logName = null,
string machineName = ".",
bool manageEventSource = false,
string outputTemplate = DefaultOutputTemplate,
IFormatProvider formatProvider = null,
LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum,
IEventIdProvider eventIdProvider = null) // <#<#<#<#<#<#<#<#<#<#<#<#
【讨论】:
Compute方法中的代码即可。