Serilog.Sinks.EventLog - 事件 ID
Serilog.Sinks.EventLog - Event Id
我正在使用 Serilog.Sinks.EventLog 记录到事件查看器,使用 Serilog.Sinks.File 记录到文件。
两者都按预期工作,唯一的问题是当我登录到事件查看器时它采用随机事件 ID,是否有任何方法可以通过事件 ID.I 搜索了很多但没有找到任何解决方案。
我的要求是例如。当工作人员服务启动时,应记录事件 ID X,当发生某些错误时,应记录事件 ID Y。
我的appsettings.json配置如下:
{
"Name": "EventLog",
"Args": {
"manageEventSource": false,
"source": "CTS",
"restrictedToMinimumLevel": "Error"
}
}
提前致谢。
为了定义自定义 EventID
,您必须实现自己的 IEventIdProvider
and then tell the sink to use your provider instead of the 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) // <#<#<#<#<#<#<#<#<#<#<#<#
{
// ...
}
接收器的源代码在 GitHub 上,它的工作原理很容易理解:https://github.com/serilog/serilog-sinks-eventlog
我正在使用 Serilog.Sinks.EventLog 记录到事件查看器,使用 Serilog.Sinks.File 记录到文件。 两者都按预期工作,唯一的问题是当我登录到事件查看器时它采用随机事件 ID,是否有任何方法可以通过事件 ID.I 搜索了很多但没有找到任何解决方案。 我的要求是例如。当工作人员服务启动时,应记录事件 ID X,当发生某些错误时,应记录事件 ID Y。 我的appsettings.json配置如下:
{
"Name": "EventLog",
"Args": {
"manageEventSource": false,
"source": "CTS",
"restrictedToMinimumLevel": "Error"
}
}
提前致谢。
为了定义自定义 EventID
,您必须实现自己的 IEventIdProvider
and then tell the sink to use your provider instead of the 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) // <#<#<#<#<#<#<#<#<#<#<#<#
{
// ...
}
接收器的源代码在 GitHub 上,它的工作原理很容易理解:https://github.com/serilog/serilog-sinks-eventlog