如何使用ILogger在我的ASP.NET Core应用程序的nuget包中记录serilog发出的消息

问题描述 投票:0回答:1

这应该很简单,但是我找不到答案。

我有一个ASP.NET Core(3.0)应用程序。我使用Microsoft.Extensions.Logging / ILogger进行记录。

我还在使用库(Fishbus:github / nuget)与Azure Message Bus进行接口。该库记录适当的消息,但使用Serilog进行记录。因此,开箱即用,不会记录任何消息。

如何将Serilog“连接”到Microsoft日志记录框架,以便可以看到库在做什么?

asp.net-core logging .net-core serilog ilogger
1个回答
0
投票

您本身不能。您会看到图书馆使用的东西。 Microsoft.Extensions.Logging是一个外观,因此当您依赖它时,该应用程序可以包含在实际的日志记录提供程序中。但是,如果库依赖于提供程序本身(即Serilog),则无法将其挂接到Microsoft.Extensions.Logging或其他提供程序中。

就是说,如果您还为Microsoft.Extensions.Logging使用了Serilog提供程序,则可以将相同的Serilog配置用于两者。它们不会以相同的方式生成日志,但是它们最终都将存储在相同的接收器中。此外,Serilog本身就具有接收器的概念,是某种外观,因此,即使您最终无法摆脱Serilog,也可以通过Serilog配置不同的日志记录目标,而不是使用不同的Microsoft.Extensions.Logging提供程序。

© www.soinside.com 2019 - 2024. All rights reserved.