这应该很简单,但是我找不到答案。
我有一个ASP.NET Core(3.0)应用程序。我使用Microsoft.Extensions.Logging / ILogger
进行记录。
我还在使用库(Fishbus:github / nuget)与Azure Message Bus进行接口。该库记录适当的消息,但使用Serilog进行记录。因此,开箱即用,不会记录任何消息。
如何将Serilog“连接”到Microsoft日志记录框架,以便可以看到库在做什么?
您本身不能。您会看到图书馆使用的东西。 Microsoft.Extensions.Logging
是一个外观,因此当您依赖它时,该应用程序可以包含在实际的日志记录提供程序中。但是,如果库依赖于提供程序本身(即Serilog),则无法将其挂接到Microsoft.Extensions.Logging
或其他提供程序中。
就是说,如果您还为Microsoft.Extensions.Logging
使用了Serilog提供程序,则可以将相同的Serilog配置用于两者。它们不会以相同的方式生成日志,但是它们最终都将存储在相同的接收器中。此外,Serilog本身就具有接收器的概念,是某种外观,因此,即使您最终无法摆脱Serilog,也可以通过Serilog配置不同的日志记录目标,而不是使用不同的Microsoft.Extensions.Logging
提供程序。