我对使用System.Diagnostics.Trace Trace.TraceInformation("This is a test")
与使用ILogger日志记录抽象logger.LogInformation("This is a test")
之间的区别感到困惑。
我正在研究.Net Core 2.2项目,并计划将其部署为Azure Web App。两种方法有区别吗?一个比另一个更适合我的工作吗?为什么一个使用另一个?
答案 0 :(得分:0)
显然,没有分界线。如果问自己“目的是什么?”答案恰好是“与系统进程,事件日志或性能计数器交互”,这是System.Diagnostics
的答案。如果答案恰好是“我只想记录应用程序日志”,请进行Logger
。
对于Azure Web App,您可能要使用AddAzureWebAppDiagnostics。
记录和跟踪之间的区别?
我保持清醒的态度是Logging
可帮助您报告任何错误。
但是,如果您想了解函数的哪个部分导致了错误或任何性能瓶颈,请使用Tracing
。 Tracing
有助于了解控件或程序的流程。您可能还希望看到other levels of logging,例如fatal
,warning
,debug
,info
等。