c# - ASP.NET Core Web API - 如何解决 Serilog 和 Microsoft.Extensions.Logging 之间的冲突

标签 c# asp.net-web-api serilog

在我的 ASP.NET Core-6 Web API 中,我安装了 Serilog。我从未安装过 Microsoft.Extensions.Logging

但令我惊讶的是,当我想使用 Serilog 引用时:

using ILogger = Serilog.ILogger;

public class AuthController : BaseApiController
{
    private readonly ILogger<AuthController> _logger;
    private IAuthService _authService;

    public AuthController(ILogger<AuthController> logger, IAuthService authService)
    {
        _logger = logger;
        _authService = authService;
    }
}

ILogger 自动检测 Microsoft.Extensions.Logging,我无法更改为 Serilog。

如何解决这个问题?

谢谢

最佳答案

.NET 6 默认情况下在 <ImplicitUsings>enable</ImplicitUsings> 中启用“隐式使用”( .csproj )文件。 ASP.NET Core 6 默认包括 Microsoft.Extensions.Logging .

您可以“禁用”所有“使用”或删除 Microsoft.Extensions.Logging明确地在您的 .csproj 中文件。

<ItemGroup>
  <Using Remove="Microsoft.Extensions.Logging" />
</ItemGroup>

参见here了解更多信息。

关于c# - ASP.NET Core Web API - 如何解决 Serilog 和 Microsoft.Extensions.Logging 之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72193848/

相关文章:

logging - 来自 appsettings.json 中 Filters.Expressions 的 Serilog 和过滤器

c# - 哪种语言具有最好的 Git API 绑定(bind)?

c# - 具有继承的 Web API 版本控制

c# - WebApi OData v4 ComlexType 不能有 EntityType

asp.net-mvc - 为什么无法导航到Web API Controller

c# - 在 ASP.NET Core 2.2 中使用 InProcess 托管模型时,Serilog 不会将日志写入文件

c# - 将 Serilog 与 Caliburn Micro .Net Core 3.1 结合使用

c# - 我怎样才能始终向上舍入 float ?

c# - 如何获得当前的 CaSTLe Windsor 容器?

c# - 删除#C 中动态添加的组合框