gpt4 book ai didi

c# - 为什么每个人都使用带有 ASP.Net Core 的 ILogger 的记录器包?

转载 作者:行者123 更新时间:2023-12-04 00:55:31 26 4
gpt4 key购买 nike

对于日志记录,开发人员使用日志记录包,例如:Nlog、SeriLog、...
而 asp.net 核心有 Microsoft.Extenstions.Logging.ILogger ?
ILogger asp.net core 记录日志?
如果 ILogger可以记录日志,没有任何其他包不是更好吗?
如果 ILogger可以记录日志,那为什么开发者不单独使用呢?
如果 ILogger不能单独记录日志和其他软件包一样,那么 ILogger 有什么好处?与其他日志记录包一起使用而不是单独使用一个日志记录包?

最佳答案

默认情况下,ASP.NET Core 使用 Microsoft.Extensions.Logging.ILogger .
因此调用 CreateDefaultBuilder,它会添加以下日志记录提供程序:

  • 控制台
  • 调试
  • 事件源
  • 事件日志:仅限 Windows

  • 代码示例:
    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/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com