c# – ASP.NET Core的内置日志记录是否使NLog / Serilog / etc过时了?

我们使用NLog或Serilog进行记录.我们正在忙着将一个系统从ASP.NET移植到ASP.NET Core,这是 has logging built in.

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

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

解决方法

asp.net日志记录是一种常见的(日志记录)接口和日志实现.

您可以将基本接口和第三方库(例如NLog)一起使用,因为基础架构已为此做好准备.

如果您通过内置日志记录实现获取NLog,您将获胜:

>即时更改配置(在不重启的情况下运行应用程序)
>更多目标(例如数据库,文件).内置中没有文件目标:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging.NLog中的邮件目标尚未达到netstandard,但是已经计划好了.
>目标中的更多选项(例如文件归档)
>编写额外的上下文信息,例如${processid}
>因为我们在性能优化方面投入了大量资金,所以我期待性能.
>异步日志记录 – 据我所知,这不在asp.net日志记录中.
>缓冲,后备和高级功能限制日志,使用上下文信息过滤条件,并发写入一个文件等.
> NLog更容易扩展(不仅是目标,还有布局渲染器,布局等)
>结构测井的可能性(Serilog,NLog 4.5)

但与往常一样,如果您不需要这些功能,那么可能更少(库)更多.

相关文章

本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从...
基于 .NET 的一个全新的、好用的 PHP SDK + Runtime: Pe...
.NET 异步工作原理介绍。
引子 .NET 6 开始初步引入 PGO。PGO 即 Profile Guided Opti...
前言 2021/4/8 .NET 6 Preview 3 发布,这个版本的改进大多来...
前言 开头防杠:.NET 的基础库、语言、运行时团队从来都是相...