c# - 如何使用 Serilog 将自定义事件 ID 写入事件日志?
问题描述
使用 Serilog 将事件记录到 Windows 事件日志很容易,但是同一个接收器似乎不提供使用日志写入自定义事件 ID 的能力。因此,如果我们决定为我们的应用程序使用事件 ID 4000,我们如何配置 Serilog 以将该事件 ID 连同源、描述等一起写入事件日志?
解决方案
要自定义EventID
,您必须实现自己的IEventIdProvider
并告诉接收器使用您的提供程序而不是默认提供程序。
.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) // <#<#<#<#<#<#<#<#<#<#<#<#
推荐阅读
- c++ - 填充字符串数组时遇到问题
- html - Pandoc:转换 HTML 内联样式
- node.js - 我将图片上传到服务器,但未能带入图片
- assembly - 给定PC=0x32011C,一个值位于0x32010C,那么偏移量是多少?
- python - Pandas groupby/apply 对 int 和 string 类型有不同的行为
- docker - 使用 Docker 在两个文件夹中编译两个应用程序
- javascript - 为什么按钮不触发第二个功能?
- javascript - 如何找到我刚刚上传到 S3 的流的总大小?
- c# - SendGrid 联系人 API
- excel - 我如何循环遍历数组和数组