【问题标题】:How to log messages issued by serilog in a nuget package in my ASP.NET Core app using ILogger如何使用 ILogger 在我的 ASP.NET Core 应用程序的 nuget 包中记录 serilog 发出的消息
【发布时间】:2019-10-02 20:57:16
【问题描述】:

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

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

我还使用一个库(Fishbus:github/nuget)与 Azure 消息总线连接。该库记录合适的消息,但使用Serilog 来执行此操作。所以开箱即用,不会记录任何消息。

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

【问题讨论】:

标签: asp.net-core logging .net-core serilog ilogger


【解决方案1】:

你不能,就其本身而言。你很感激图书馆使用什么。 Microsoft.Extensions.Logging 是一个门面,所以当你依赖它时,应用程序可以插入一个实际的日志提供程序。但是,当库依赖于提供程序本身(即 Serilog)时,就无法将其挂接到 Microsoft.Extensions.Logging 或其他提供程序。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多