首页 > 解决方案 > System.Diagnostics.Trace 与 ILogger

问题描述

我对使用 System.Diagnostics.TraceTrace.TraceInformation("This is a test")和使用 ILogger logging abstraction之间的区别感到困惑logger.LogInformation("This is a test")

我在一个 .Net Core 2.2 项目中工作,并计划将其部署为 Azure Web 应用程序。两种方法有区别吗?一个比另一个更适合我正在做的事情吗?为什么一个人会使用一个而不是另一个?

标签: c#logging.net-coreasp.net-core-webapi

解决方案


显然,没有分界线何时使用。如果你问自己“目的是什么?” 答案恰好是“与系统进程、事件日志或性能计数器交互” System.Diagnostics。如果答案恰好是“我只想要应用程序日志记录”,那么选择Logger.

对于 Azure Web App,您可能需要使用AddAzureWebAppDiagnostics

记录和跟踪之间的区别?

我保持清醒的方式是Logging帮助您报告任何错误。

但是,如果您想了解函数的哪一部分导致错误或任何性能瓶颈,请使用Tracing. Tracing有助于了解控制或程序的流程是怎样的。您可能还想查看其他级别的日志记录,例如fatal, warning, debug,info等。


推荐阅读