nes*_*est 17 c# asp.net error-logging azure azure-web-sites
我有一个部署到azure的Web应用程序,但我不知道如何记录错误.
出于测试目的,我有这个ForceError方法:
public string ForceError()
{
throw new Exception("just a test exception");
return "ok";
}
Run Code Online (Sandbox Code Playgroud)
但是我强制的错误没有出现在选定的存储容器中.
你知道我该怎么做才能开始记录应用程序中的所有错误吗?
Der*_*rek 27
我担心抛出异常在Azure Web应用程序日志记录中不起作用.
ASP.NET应用程序可以使用System.Diagnostics.Trace该类将信息记录到应用程序诊断日志中.以下示例中的四种方法与诊断日志级别相对应:
Trace.TraceError("Message"); // Write an error message
Trace.TraceWarning("Message"); // Write a warning message
Trace.TraceInformation("Message"); // Write an information message
Trace.WriteLine("Message"); // Write a verbose message
Run Code Online (Sandbox Code Playgroud)
除了记录事件的基本信息之外,blob存储还记录其他信息,例如实例ID,线程ID以及CSV中更精细的时间戳(刻度格式).
一个伟大的文章在这里有关记录技巧和工具.
另请参阅官方Azure Web Apps日志文档的参考.
在Azure网站上,最好的日志记录方式是Application Insights,您可以使用免费版本来获取有关崩溃/速度/性能的见解.
但是,如果启用所有内容,Application Insights会慢一些.但是,如果您自定义它并仅启用错误记录,它会将所有日志推送到您的Azure应用程序洞察帐户,您将能够非常好地监视/分析它.
有关详细信息,请访问:https: //azure.microsoft.com/en-in/documentation/articles/app-insights-api-custom-events-metrics/
我建议,不要自动配置Application Insights,采用空项目,设置应用程序洞察.注意所有添加的配置文件和nuget包.有一些洞察配置文件,除了应用程序密钥/签名,你可以关闭一切.
仅当您要手动跟踪异常时,才能创建TelemetryClient并调用TrackException方法.如果需要,您可以传递更多详细信息.
| 归档时间: |
|
| 查看次数: |
26927 次 |
| 最近记录: |