2016-02-29 22 views
11

Azure'a dağıtılan bir web uygulamasına sahibim ancak hataları nasıl kaydedeceğimi bilmiyorum. Böyle tüm Teşhis günlükleri etkin Azure'de On enter image description hereAzure'da ASP.NET web uygulaması - Hataları nasıl günlüğe kaydederim?

: böyle neden

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

ve hatayı:

Test amaçlı bu ForceError yöntemi var enter image description here

Ama Zorladığım hata seçilen depolama kabında görünmüyor.

Uygulamadaki tüm hataları günlüğe kaydetmeye başlamak için ne yapmalıyım?

cevap

5

Azure Web Siteleri'nde, günlüğe kaydetmenin en iyi yolu Uygulama Bilgileri olacaktır, çökme/hız/performans hakkında bilgi edinmek için ücretsiz sürümü kullanabilirsiniz.

Ancak, her şeyi etkinleştirirseniz Uygulama Bilgileri biraz daha yavaştır. Ancak bunu özelleştirirseniz ve yalnızca hata günlüğünü etkinleştirirseniz, tüm günlükleri gök gürültüsü uygulama analizleri hesabınıza yönlendirir ve çok güzel bir şekilde izleme/analiz edebileceksiniz. Daha fazla ayrıntı için

: https://azure.microsoft.com/en-in/documentation/articles/app-insights-api-custom-events-metrics/

yerine otomatik olarak, ben, boş bir proje almak, öneriyorsun Uygulama Insights'ı yapılandırılması kurulum uygulaması anlayışlar. Tüm eklenen yapılandırma dosyalarına ve nuget paketlerine dikkat edin. Uygulama anahtarı/imzası haricinde bazı bilgi yapılandırma dosyaları vardır, her şeyi kapatabilirsiniz.

Yalnızca bir istisnayı manuel olarak izlemek istediğinizde, TelemetryClient oluşturabilir ve TrackException yöntemini çağırabilirsiniz. İhtiyacınız olursa daha fazla ayrıntıyı geçebilirsiniz.

+0

Merhaba, bu aradığım şey gibi görünüyor. Uygulama hatalarını 'hata seviyesi' için kaydetme ve/veya bir referans sağlama konusunda nasıl detaylandırabilirsiniz? – nest

+1

Sadece bir ek, eğer benim gibi mvc framework kullanıyorsan, bunu nasıl yapacağını anlatıyor. https://azure.microsoft.com/en-us/documentation/articles/app-insights-asp-net-exceptions/#mvc – nest

11

Azure Web uygulama günlüğünde bir istisna atmaktan korkmuyorum.

ASP.NET uygulamaları, uygulama tanılama günlüğüne bilgi kaydetmek için System.Diagnostics.Trace sınıfını kullanabilir. örnekte dört yöntem diyagnostik günlük seviyelerinin karşılık gelir: bu tür örnek numarası, iplik numarası ve daha olarak kaydedilir olaylar, damla depolama günlük ek bilgi için, temel bilgilerin yanı sıra

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 

enter image description here

CSV'de granüler zaman damgası (onay biçimi).

enter image description here

günlüğü ipuçları ve araçlar hakkında büyük bir makale here.

Ayrıca bkz. Resmi Azure Web Apps Logging Document.

İlgili konular