System.Diagnostics.Trace与ILogger

时间:2019-12-30 19:23:31

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

我对使用System.Diagnostics.Trace Trace.TraceInformation("This is a test")与使用ILogger日志记录抽象logger.LogInformation("This is a test")之间的区别感到困惑。

我正在研究.Net Core 2.2项目,并计划将其部署为Azure Web App。两种方法有区别吗?一个比另一个更适合我的工作吗?为什么一个使用另一个?

1 个答案:

答案 0 :(得分:0)

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

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

记录和跟踪之间的区别?

我保持清醒的态度是Logging可帮助您报告任何错误。

但是,如果您想了解函数的哪个部分导致了错误或任何性能瓶颈,请使用TracingTracing有助于了解控件或程序的流程。您可能还希望看到other levels of logging,例如fatalwarningdebuginfo等。