对于日志记录,开发人员使用日志记录包,例如:Nlog、SeriLog、...
而 asp.net 核心有 Microsoft.Extenstions.Logging.ILogger
?
不 ILogger
asp.net core 记录日志?
如果 ILogger
可以记录日志,没有任何其他包不是更好吗?
如果 ILogger
可以记录日志,那为什么开发者不单独使用呢?
如果 ILogger
不能单独记录日志和其他软件包一样,那么 ILogger
有什么好处?与其他日志记录包一起使用而不是单独使用一个日志记录包?
最佳答案
默认情况下,ASP.NET Core 使用 Microsoft.Extensions.Logging.ILogger
.
因此调用 CreateDefaultBuilder,它会添加以下日志记录提供程序:
代码示例:
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
来源:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1所以一般来说每个项目都有自己的需求和需求,所以开发者可以选择哪个更适合项目需求。
其他记录器提供商,如 Nlog、SeriLog、Asure、...
可以提供不同的日志主题、灵活的配置、登录到文件等默认ASP.NET Core不具备的功能。
ILogger 和 ILoggerProvider 接口(interface)和附加包的安装可以灵活地添加其他记录器提供程序。
ILoggerProvider 接口(interface)
https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.iloggerprovider?view=dotnet-plat-ext-3.1
希望我得到很好的回答。
关于c# - 为什么每个人都使用带有 ASP.Net Core 的 ILogger 的记录器包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62788813/