我们使用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)
但与往常一样,如果您不需要这些功能,那么可能更少(库)更多.