簡體   English   中英

Azure中的ASP.NET Web應用程序 - 如何記錄錯誤?

[英]ASP.NET web application in Azure - How to log errors?

我有一個部署到azure的Web應用程序,但我不知道如何記錄錯誤。

出於測試目的,我有這個ForceError方法:

public string ForceError()
{
    throw new Exception("just a test exception");
    return "ok";
}

這樣的原因和錯誤: 在此輸入圖像描述

在Azure上,我啟用了所有診斷日志,如下所示: 在此輸入圖像描述

但是我強制的錯誤沒有出現在選定的存儲容器中。

你知道我該怎么做才能開始記錄應用程序中的所有錯誤嗎?

我擔心拋出異常在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

在此輸入圖像描述

除了記錄事件的基本信息之外,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方法。 如果需要,您可以傳遞更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM