gpt4 book ai didi

asp.net-core - ASP.NET Core 的内置日志记录是否会使 NLog/Serilog/etc 过时?

转载 作者:可可西里 更新时间:2023-11-01 08:40:33 27 4
gpt4 key购买 nike

我们使用 NLog 或 Serilog 进行日志记录。我们正忙于将系统从 ASP.NET 移植到 ASP.NET Core,这 has logging built in .

理想情况下,我们希望放弃 NLog,因为似乎不再需要它了。

但是,内置的日志记录是否等同于 NLog?它是否缺少任何主要功能?继续使用 NLog(或类似的东西,例如 Serilog)有什么意义吗?

最佳答案

ASP.NET 日志记录是一个通用(日志记录)接口(interface)和日志实现。

您可以同时使用公共(public)接口(interface)和第 3 方库(例如 NLog),因为基础设施已为此做好准备。

如果您让 NLog 接管内置的日志记录实现,您将获胜:

  • 即时更改配置(无需重启即可运行应用程序)
  • 更多目标(例如数据库、文件)。内置没有文件目标:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/logging . NLog 中的邮件目标尚未在 .NET Standard 中,但已在计划中。 邮件目标在 .NET Standard 2 中存在,而在 .NET Standard 1 中存在 NLog.MailKit
  • 目标中的更多选项(例如文件归档)
  • 编写额外的上下文信息,例如 ${processid}
  • 由于我们在性能优化方面投入了大量资金,因此我期望性能。
  • 异步日志记录——据我所知,它不在 ASP.NET 日志记录中。
  • 高级功能,如缓冲、回退和限制日志、使用上下文信息过滤条件、并发写入一个文件等。
  • NLog 更容易扩展(不仅是目标,还有布局渲染器、布局等)
  • 结构日志记录的可能性(Serilog、NLog 4.5)

但一如既往,如果您不需要这些功能,那么可能更少(库)就是更多。

关于asp.net-core - ASP.NET Core 的内置日志记录是否会使 NLog/Serilog/etc 过时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41331079/

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