如何将 Serilog LogEvent 记录到 ILogger?

How to log a Serilog LogEvent to ILogger?

我有一个微服务 .NET Core,它通过外部源接收 Serilog.Events.LogEvent。微服务实现了 UseSerilog,这意味着注入的 Microsoft ILogger 将是伪装的 Serilog。

问题是我如何从这个只有 Microsoft ILogger 的 class 中记录我的 LogEvent?

我试图将 Microsoft ILogger 转换为 Serilog ILogger,但这是不可能的。

MS Ilogger 应该可以轻松切换日志系统,class 需要知道的全部应该是 MS Ilogger。但在这种情况下,我走了一条捷径,我简单地注入了一个 Serilog ILogger,然后用它来记录 LogEvent。

这是一个非常小的独立项目,所以应该不会有问题。此外,要使 Serilog 结构日志正常工作,必须使用特定的语法,如果日志系统更改,这可能会有所不同。