ASP.NET Core Web API - 如何解决 Serilog 与 Microsoft.Extensions.Logging 之间的冲突
ASP.NET Core Web API - How to resolve conflict between Serilog and Microsoft.Extensions.Logging
在我的 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 默认在 .csproj
文件中打开“隐式使用”(<ImplicitUsings>enable</ImplicitUsings>
)。 ASP.NET Core 6 默认包含 Microsoft.Extensions.Logging
.
您可以 'disable' 所有“使用”或在 .csproj
文件中明确删除 Microsoft.Extensions.Logging
。
<ItemGroup>
<Using Remove="Microsoft.Extensions.Logging" />
</ItemGroup>
有关详细信息,请参阅 here。
在我的 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 默认在 .csproj
文件中打开“隐式使用”(<ImplicitUsings>enable</ImplicitUsings>
)。 ASP.NET Core 6 默认包含 Microsoft.Extensions.Logging
.
您可以 'disable' 所有“使用”或在 .csproj
文件中明确删除 Microsoft.Extensions.Logging
。
<ItemGroup>
<Using Remove="Microsoft.Extensions.Logging" />
</ItemGroup>
有关详细信息,请参阅 here。