Azure App Service kullanarak Visual Studio sorunlarını Visual Studio
Genel Bakış
Bu öğreticide, uzaktan Visual Studio modunda çalıştırarak veya uygulama günlüklerini ve web sunucusu günlüklerini görüntüerek App Service'dauygulamanın hata ayıklamasını ayıklamaya yardımcı olmak için Visual Studio araçlarının nasıl kullanılası açıktır.
Şunları öğreneceksiniz:
- Bu uygulamada hangi uygulama yönetimi işlevlerinin Visual Studio.
- Uzak bir Visual Studio hızlı değişiklikler yapmak için uzaktan görünüm kullanma.
- Proje Azure'da çalışırken hem uygulama hem de Webjob için hata ayıklama modunu uzaktan çalıştırma.
- Uygulama izleme günlükleri oluşturma ve uygulama oluşturulurken bunları görüntüleme.
- Ayrıntılı hata iletileri ve başarısız istek izleme dahil olmak üzere web sunucusu günlüklerini görüntüleme.
- Tanılama günlüklerini bir Azure Depolama hesabına gönderme ve orada görüntüleme.
Hata ayıklama Visual Studio Ultimate IntelliTrace de kullanabilirsiniz. IntelliTrace bu öğreticide ele değildir.
Önkoşullar
Bu öğretici, Azure App Service'de bir App Service uygulaması oluşturma içinde ayar ASP.NET geliştirme ortamı, web projesi ve Azure App Service. WebJobs bölümleri için, Başlarken SDK'sı ile Azure Web İşleri gerekir.
Bu öğreticide gösterilen kod örnekleri bir C# MVC web uygulamasına ilişkintir, ancak sorun giderme yordamları Visual Basic ve Web Forms için aynıdır.
Öğretici, 2019'da Visual Studio varsayıyor.
Akış günlükleri özelliği yalnızca 4 veya daha sonraki bir .NET Framework uygulamalar için çalışır.
Uygulama yapılandırması ve yönetimi
Visual Studio, uygulama yönetimi işlevlerinin ve yapılandırma ayarlarının bir alt kümesine Azure portal. Bu bölümde, Sunucu Gezgini kullanarak nelerin kullanılabilir olduğunu Sunucu Gezgini. En son Azure tümleştirme özelliklerini görmek için Cloud Explorer'ı da deneyin. Görünüm menüsünden her iki pencereyi de açabilirsiniz.
Azure'da henüz oturum Visual Studio, Azure'a sağ tıklayın ve Bağlan'de Microsoft Azure Aboneliği'ne Sunucu Gezgini.
Alternatif olarak hesabınıza erişim sağlayan bir yönetim sertifikası yükleyebilirsiniz. Sertifikayı yüklemeyi seçerseniz, Sunucu Gezgini'de Azure düğümüne sağ tıklayın ve ardından bağlam menüsünde Abonelikleri Yönet ve Filtrele'yi seçin. Abonelikleri Yönet Microsoft Azure kutusunda Sertifikalar sekmesine ve ardından İçeri Aktar'a tıklayın. Azure hesabınız için bir abonelik dosyasını (.publishsettings dosyası olarak da adlandırılan) indirmek ve içeri aktarma yönergelerini izleyin.
Not
Bir abonelik dosyası indirirsiniz, bunu kaynak kod dizinleri dışındaki bir klasöre kaydedin (örneğin, İndirilenler klasörüne) ve ardından içeri aktarma tamamlandıktan sonra silin. Abonelik dosyasına erişim elde eden kötü amaçlı bir kullanıcı Azure hizmetlerinizi düzenleyebilir, oluşturabilir ve silebilir.
Azure kaynaklarından Azure kaynaklarına bağlanma hakkında daha fazla bilgi Visual Studio bkz. Azure rollerini Azure portal.
Bu Sunucu Gezgini Azure'a ve sonra da App Service.
Azure App Service'debir ASP.NET uygulaması oluşturma altında oluşturduğunuz uygulamayı içeren kaynak grubunu genişletin, ardından uygulama düğümüne sağ tıklayın ve Uygulamanın görünümünü Ayarlar.

Azure Web Uygulaması sekmesi açılır ve uygulama yönetimi ve yapılandırma görevlerinin uygulama yönetimi ve yapılandırma görevleri Visual Studio.

Bu öğreticide, günlüğe kaydetme ve izleme açılan listelerini kullanasiniz. Uzaktan hata ayıklamayı da kullana ama etkinleştirmek için farklı bir yöntem kullan.
Bu pencereye ilişkin Uygulama Ayarlar ve Bağlantı Dizeleri kutuları hakkında bilgi için bkz. Azure App Service: Uygulama Dizeleri ve Bağlantı Dizeleri Nasıl Çalışır?
Bu pencerede gerçekleştirilene bir uygulama yönetimi görevi gerçekleştirmek için, Yönetim Portalı'da aç'a tıklar ve bu pencerede bir Azure portal.
Uygulama dosyalarına Sunucu Gezgini
Bir web projesini genellikle veya olarak ayarlanmış Web.config bayrağıyla dağıtırsınız. Bu, bir sorun olduğunda yararlı bir hata iletisi alamayacak customErrors On anlamına RemoteOnly gelir. Birçok hata için tek elde edersiniz, aşağıdakilere benzer bir sayfadır:
'/' Uygulamasında Sunucu Hatası:
Bir hata oluştu:
Web sitesi sayfayı görüntüleye
Genellikle hatanın nedenini bulmanın en kolay yolu, önceki ekran görüntülerinin ilki tarafından nasıl yapılacakları açıklayan ayrıntılı hata iletilerini etkinleştirmektir. Bunun için dağıtılan dosyada bir değişiklik Web.config gerekir. projesindeWeb.config dosyasını düzenleyebilir ve projeyi yeniden dağıtabilirsiniz ya da bir Web.config dönüştürme oluşturabilir ve bir hata ayıklama derlemesi dağıtabilirsiniz, ancak daha hızlı bir yol vardır: Çözüm Gezgini'de, uzak görünüm özelliğini kullanarak uzak uygulamada dosyaları doğrudan görüntüleyemez ve düzenleyebilirsiniz.
Bu Sunucu Gezgini, Azure, App Service genişletin, uygulamanın bulunduğu kaynak grubunu genişletin ve ardından uygulamanın düğümünü genişletin.
Uygulamanın içerik dosyalarına ve günlük dosyalarına erişmenizi sağlar.
Dosyalar düğümünü genişletin ve dosyanın Web.config tıklayın.

Visual Studio, Web.config dosyasından dosya adını açar ve başlık çubuğunda dosya adının yanında [Uzak] ifadesini gösterir.
öğesine aşağıdaki satırı
system.webekleyin:<customErrors mode="Off"></customErrors>
Yardımcı olmayan hata iletisini gösteren tarayıcıyı yenileyin ve şimdi aşağıdaki örnekte olduğu gibi ayrıntılı bir hata iletisi alırsınız:

(Gösterilen hata, views\Home\Index.cshtml dizinine kırmızı renkle gösterilen çizgi eklendi. )
Uygulama Web.config düzenleme, uygulamanıza dosya okuma ve düzenleme olanağının sorun gidermeyi kolaylaştırma App Service senaryolardan yalnızca bir örnektir.
Uzaktan hata ayıklama uygulamaları
Ayrıntılı hata iletisi yeterli bilgi sağlanmasa ve hatayı yerel olarak yeniden oluşturasanız, sorun gidermenin başka bir yolu uzaktan hata ayıklama modunda çalıştırmaktır. Kesme noktaları ayarlama, belleği doğrudan işleme, kod adımlarını atma ve hatta kod yolunu değiştirme.
Uzaktan hata ayıklama, express'in Express sürümlerinde Visual Studio.
Bu bölümde, Azure App Service'da bir uygulama oluşturma bölümünde ASP.NET kullanarak uzaktan hata ayıklama Azure App Service.
Azure App Service'da bir ASP.NET uygulaması oluşturma içinde oluşturduğunuz web Azure App Service.
Controllers\HomeController.cs'yi açın.
yöntemini
About()silin ve yerine aşağıdaki kodu girin.public ActionResult About() { string currentTime = DateTime.Now.ToLongTimeString(); ViewBag.Message = "The current time is " + currentTime; return View(); }Satırda bir kesme noktası
ViewBag.Messageayarlayın.Bu Çözüm Gezgini, projeye sağ tıklayın ve Yayımla'ya tıklayın.
Profil açılan listesinde, ASP.NET uygulamasında bir uygulama oluşturma altında Azure App Service. Ardından, Ayarlar.
Yayımla iletişim kutusunda, Ayarlar sekmesine tıklayın, ardından Yapılandırma'yı Hata Ayıkla olarak ayarlayın ve kaydet'e tıklayın.

Yayımla’ya tıklayın. Dağıtım tamam olduktan ve tarayıcınız, uygulamanın Azure URL'sini açtıktan sonra tarayıcıyı kapatın.
Bu Sunucu Gezgini uygulamanıza sağ tıklayın ve ardından Hata Ayıklayıcı ekle'ye tıklayın.
Tarayıcı otomatik olarak Azure'da çalışan giriş sayfanıza açılır. Azure hata ayıklama için sunucuyu ayarlarken 20 saniye kadar beklemeniz gerekir. Bu gecikme yalnızca 48 saatlik bir süre içinde bir uygulamada hata ayıklama modunda ilk kez çalıştırıldıklarında gerçekleşir. Aynı dönemde hata ayıklamaya yeniden başlarken bir gecikme olmayacaktır.
Not
Hata ayıklayıcısını başlatma konusunda sorun varsa, hata ayıklayıcıyı kullanmak yerine Cloud Explorer'ı Sunucu Gezgini.
Menüde Hakkında'ya tıklayın.
Visual Studio kesme noktası üzerinde durur ve kod yerel bilgisayarınızda değil Azure'da çalışıyor.
Saat değerini
currentTimegörmek için değişkenin üzerine gelin.
Gördüğünüz zaman, yerel bilgisayarınızdan farklı bir saat diliminde yer alan Azure sunucu saatidir.
Değişkeni için
currentTime"Artık Azure'da çalışıyor" gibi yeni bir değer girin.Çalışmaya devam etmek için F5 tuşuna basın.
Azure'da çalışan Hakkında sayfası currentTime değişkenine girdiğiniz yeni değeri görüntüler.

WebJobs'da uzaktan hata ayıklama
Bu bölümde, Başlarken SDK'sı ile Başlarken proje ve uygulama kullanılarak uzaktan Azure Web İşleri açıklanmıştır.
Bu bölümde gösterilen özellikler yalnızca Güncelleştirme 4 veya Visual Studio 2013 için kullanılabilir.
Uzaktan hata ayıklama yalnızca sürekli Web İşleri ile çalışır. Zamanlanmış ve isteğe bağlı WebJob'lar hata ayıklamayı desteklemez.
Azure Web İşleri SDK'sı ile Başlarken oluşturduğunuz web Azure Web İşleri açın.
ContosoAdsWebJob projesinde Functions.cs'yi açın.
yönteminde ilk deyiminde bir kesme noktası
GnerateThumbnailayarlayın.
Bu Çözüm Gezgini web projesine (WebJob projesine değil) sağ tıklayın ve Yayımla'ya tıklayın.
Profil açılan listesinde, Başlarken SDK'sı ile Azure Web İşleri seçin.
Uygulama sekmesine Ayarlar Yapılandırma'yı Hata Ayıkla olarak ve ardından Yayımla'ya tıklayın.
Visual Studio web ve WebJob projelerini dağıtır ve tarayıcınız uygulamanızın Azure URL'sini açar.
Bu Sunucu Gezgini, Azure > App Service > kaynak grubu > WebJobs > Sürekli> ve ardından ContosoAdsWebJob'a sağ tıklayın.
Hata Ayıklayıcı ekle'ye tıklayın.
Tarayıcı otomatik olarak Azure'da çalışan giriş sayfanıza açılır. Azure hata ayıklama için sunucuyu ayarlarken 20 saniye kadar beklemeniz gerekir. Bu gecikme yalnızca 48 saatlik bir süre içinde bir uygulamada hata ayıklama modunda ilk kez çalıştırıldıklarında gerçekleşir. Aynı dönemde hata ayıklamaya yeniden başlarken bir gecikme olmayacaktır.
Contoso Ads giriş sayfasına açılan web tarayıcısında yeni bir reklam oluşturun.
Reklam oluşturmak, Webjob tarafından alınan ve işlenen bir kuyruk iletisi oluşturulmasına neden olur. WebJobs SDK'sı kuyruk iletiyi işleme işlevini çağırsa kod kesme noktanıza isabet ediyor.
Hata ayıklayıcı kesme noktanıza geldiğinde, program bulut üzerinde çalışırken değişken değerlerini inceler ve değiştirebilirsiniz. Aşağıdaki çizimde, hata ayıklayıcısı yöntemine geçirilen blobInfo nesnesinin içeriğini
GenerateThumbnailgösterir.
Çalışmaya devam etmek için F5 tuşuna basın.
yöntemi
GenerateThumbnailküçük resmi oluşturmayı tamamlar.Tarayıcıda Dizin sayfasını yenileyin ve küçük resmi görebilirsiniz.
Hata Visual Studio durdurmak için SHIFT+F5 tuşlarına basın.
Bu Sunucu Gezgini ContosoAdsWebJob düğümüne sağ tıklayın ve Panoyu Görüntüle'ye tıklayın.
Azure kimlik bilgilerinizle oturum açma ve web işiniz sayfasına gitmek için Web İşine tıklayın.

Pano, işlevin yakın
GenerateThumbnailzamanda yürütülmektedir.(Panoyu Görüntüle'ye bir sonraki tıklarsanız, oturum açmanız zorunda değildir ve tarayıcı doğrudan Webjob'nizin sayfasına gider.)
İşlev yürütmesi ile ilgili ayrıntıları görmek için işlev adına tıklayın.

İşlevin günlükleri yazdıysanız,bunları görmek için ToggleOutput'a tıklarsanız.
Uzaktan hata ayıklama hakkında notlar
Üretimde hata ayıklama modunda çalıştırma önerilmez. Üretim uygulamanın ölçeği birden çok sunucu örneğine ölçeklendirilmeyebilirse, hata ayıklama web sunucusunun diğer isteklere yanıt vermesini önler. Birden çok web sunucusu örneğiniz varsa, hata ayıklayıcıya ekliyken rastgele bir örnek elde etmiş olur ve sonraki tarayıcı isteklerinin aynı örneğine gitmesini sağlamak için bir yolunuz yoktur. Ayrıca, genellikle üretime bir hata ayıklama derlemesi dağıtmaz ve yayın derlemeleri için derleyici iyileştirmeleri, kaynak kodunda satır satır neler olduğunu göstermeyi imkansız hale getirmez. Üretim sorunlarını gidermek için en iyi kaynağınız uygulama izleme ve web sunucusu günlükleridir.
Uzaktan hata ayıklama sırasında kesme noktalarında uzun duraklardan kaçının. Azure, birkaç dakikadan uzun süre durdurulan bir işlemi yanıt vermemeye devam ediyor ve kapatıyor.
Hata ayıklama sırasında sunucu, bant genişliği ücretlerini etkileyebilecek Visual Studio veri gönderiyor. Bant genişliği oranları hakkında bilgi için bkz. Azure Fiyatlandırması.
Web.config
debugcompilationdosyasındaki öğesinin özniteliğinin true olarak ayarlanmış olduğundan emin olun. Hata ayıklama derleme yapılandırması yayımlarken varsayılan olarak true olarak ayarlanır.<system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> </system.web>Hata ayıklayıcının hata ayıklamak istediğiniz koda adım atmamasına neden olmadığını fark ettiyseniz, hata ayıklayıcı ayarını Yalnızca kendi kodum olabilir. Daha fazla bilgi için, bkz. Visual Studio'de Yalnızca kendi kodum kullanarak yalnızca kullanıcı kodunda hata ayıklama Visual Studio.
Uzaktan hata ayıklama özelliğini etkinleştirdikten sonra sunucuda zamanlayıcı başlatılır ve 48 saat sonra özellik otomatik olarak kapanır. Bu 48 saatlik sınır güvenlik ve performans nedenleriyle yapılır. Özelliği kolayca tekrar açabilirsiniz. Etkin olarak hata ayıklaması değilken devre dışı bırakmayı öneririz.
Hata ayıklayıcıyı yalnızca uygulama işlemiyle değil tüm işlemlere el ile w3wp.exe. Uygulama içinde hata ayıklama modunu kullanma hakkında daha fazla bilgi Visual Studio, bkz. Visual Studio.
Tanılama günlüklerine genel bakış
Bir ASP.NET uygulama içinde çalışan bir App Service günlük türleri oluşturabilir:
- Uygulama izleme günlükleri
Uygulama, System.Diagnostics.Trace sınıfının yöntemlerini çağırarak bu günlükleri oluşturur. - Web sunucusu günlükleri
Web sunucusu, uygulamaya yapılan her HTTP isteği için bir günlük girişi oluşturur. - Ayrıntılı hata iletisi günlükleri
Web sunucusu, başarısız HTTP istekleri (durum kodu 400 veya daha yenisi ile sonuçlandıran istekler) için bazı ek bilgilerle bir HTML sayfası oluşturur. - Başarısız istek izleme günlükleri
Web sunucusu, başarısız HTTP istekleri için ayrıntılı izleme bilgileriyle bir XML dosyası oluşturur. Web sunucusu, XML'i tarayıcıda biçimlendirmek için bir XSL dosyası da sağlar.
Günlük kaydı uygulama performansını etkilediği için Azure size her günlük türünü gerektiğinde etkinleştirme veya devre dışı bırakma olanağı sunar. Uygulama günlükleri için, yalnızca belirli bir önem derecesi üzerindeki günlüklerin yazln gerektiğini belirtebilirsiniz. Yeni bir uygulama sanız, varsayılan olarak tüm günlükler devre dışı bırakılır.
Günlükler, uygulamanın dosya sisteminde bir LogFiles klasöründeki dosyalara yazılır ve FTP üzerinden erişilebilir. Web sunucusu günlükleri ve uygulama günlükleri de bir Azure Depolama yazabilirsiniz. Depolama hesabında, dosya sisteminde mümkün olandan daha fazla günlük hacmini koruyabilirsiniz. Dosya sistemini kullanarak en fazla 100 megabayt günlükle sınırlandırabilirsiniz. (Dosya sistemi günlükleri yalnızca kısa süreli saklama için kullanılır. Sınıra ulaşıldıktan sonra Azure yeni günlük dosyalarına yer açmak için eski günlük dosyalarını siler.)
Uygulama izleme günlüklerini oluşturma ve görüntüleme
Bu bölümde aşağıdaki görevleri gerçekleştirebilirsiniz:
- Azure ile birlikte oluşturduğunuz web projesine izleme deyimleri Kullanmaya başlayın ve ASP.NET.
- Projeyi yerel olarak çalıştırarak günlükleri görüntüleyebilirsiniz.
- Azure'da çalışan uygulama tarafından oluşturulan günlükleri görüntüleme.
Web İşlerinde uygulama günlükleri oluşturma hakkında bilgi için bkz. WebJobsSDK'sı kullanarak Azure kuyruk depolama ile çalışma - Günlük yazma. Günlükleri görüntülemeye ve Azure'da nasıl depolandır olduklarını denetlemeye ilişkin aşağıdaki yönergeler, WebJobs tarafından oluşturulan uygulama günlüklerine de uygulanır.
Uygulamaya izleme deyimleri ekleme
Controllers\HomeController.cs'yi açın ve deyimleri ve deyimi eklemek için , ve yöntemlerini
IndexAboutaşağıdakiContactTraceusingkodlaSystem.Diagnosticsdeğiştirin:public ActionResult Index() { Trace.WriteLine("Entering Index method"); ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; Trace.TraceInformation("Displaying the Index page at " + DateTime.Now.ToLongTimeString()); Trace.WriteLine("Leaving Index method"); return View(); } public ActionResult About() { Trace.WriteLine("Entering About method"); ViewBag.Message = "Your app description page."; Trace.TraceWarning("Transient error on the About page at " + DateTime.Now.ToShortTimeString()); Trace.WriteLine("Leaving About method"); return View(); } public ActionResult Contact() { Trace.WriteLine("Entering Contact method"); ViewBag.Message = "Your contact page."; Trace.TraceError("Fatal error on the Contact page at " + DateTime.Now.ToLongTimeString()); Trace.WriteLine("Leaving Contact method"); return View(); }Dosyanın
using System.Diagnostics;en üstüne bir deyimi ekleyin.
İzleme çıkışını yerel olarak görüntüleme
Uygulamayı hata ayıklama modunda çalıştırmak için F5 tuşuna basın.
Varsayılan izleme dinleyicisi, tüm izleme çıkışlarını diğer Hata Ayıklama çıkışıyla birlikte Çıkış penceresine yazar. Aşağıdaki çizimde, yöntemine eklenen izleme deyimlerinden gelen çıkış
Indexgösterilmiştir.
Aşağıdaki adımlar, hata ayıklama modunda derleme yapmadan bir web sayfasında izleme çıktısını görüntülemeyi gösterir.
Uygulamanın Web.config dosyasını (proje klasöründe bulunan dosya) açın ve dosyanın sonuna kapanış öğesinin hemen öncesini
<system.diagnostics></configuration>ekleyin:<system.diagnostics> <trace> <listeners> <add name="WebPageTraceListener" type="System.Web.WebPageTraceListener, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </listeners> </trace> </system.diagnostics>
, WebPageTraceListener 'a göz atarak izleme çıkışını görüntülemenizi /trace.axd sağlar.
aşağıdaki örnekte olduğu gibi
<system.web>Web.config altına bir izleme öğesi ekleyin:<trace enabled="true" writeToDiagnosticsTrace="true" mostRecent="true" pageOutput="false" />Uygulamayı çalıştırmak için CTRL+F5'e basın.
Tarayıcı penceresinin adres çubuğunda URL'ye trace.axd ekleyin ve Enter tuşuna basın (URL ile
http://localhost:53370/trace.axdbenzerdir).Uygulama İzleme sayfasında, ilk satırda (BrowserLink satırı değil) Ayrıntıları Görüntüle'ye tıklayın.
İstek Ayrıntıları sayfası görüntülenir ve İzleme Bilgileri bölümünde yöntemine ekley istediğiniz izleme deyimlerinden alınan çıktıyı
Indexgörebilirsiniz.
Varsayılan olarak
trace.axdyalnızca yerel olarak kullanılabilir. Bir uzak uygulamadan kullanılabilir hale getirmek isterseniz,localOnly="false"traceAşağıdaki örnekte gösterildiği gibi Web.config dosyasındaki öğesine ekleyebilirsiniz:<trace enabled="true" writeToDiagnosticsTrace="true" localOnly="false" mostRecent="true" pageOutput="false" />Ancak, bir üretim uygulamasında etkinleştirme,
trace.axdGüvenlik nedenleriyle önerilmez. Aşağıdaki bölümlerde, App Service uygulamasında izleme günlüklerini okumak için daha kolay bir yol görürsünüz.
Azure 'da izleme çıkışını görüntüleme
Çözüm Gezgini, web projesine sağ tıklayın ve Yayımla' ya tıklayın.
Web 'i Yayımla Iletişim kutusunda Yayımla' ya tıklayın.
Visual Studio güncelleştirmeyi yayımladıktan sonra, giriş sayfanıza bir tarayıcı penceresi açar ( bağlantı sekmesinde hedef URL 'yi temizlemediğiniz varsayılır).
Sunucu Gezgini, uygulamanıza sağ tıklayın ve akış günlüklerini görüntüle' yi seçin.
Çıkış penceresi, günlük akış hizmetine bağlı olduğunu gösterir ve bir günlük görüntülemesi gerekmeden her dakikada bir bildirim satırı ekler.
Uygulama giriş sayfanızı gösteren tarayıcı penceresinde, iletişim' e tıklayın.
Birkaç saniye içinde, yönteme eklediğiniz hata düzeyi izlemenin çıktısı
ContactÇıkış penceresinde görüntülenir.
Visual Studio yalnızca hata düzeyi izlemelerini gösterir çünkü bu, günlük izleme hizmetini etkinleştirdiğinizde varsayılan ayardır. Yeni bir App Service uygulaması oluşturduğunuzda, daha önce ayarlar sayfasını açtığınızda gördüğünüz gibi tüm günlük kaydı varsayılan olarak devre dışıdır:

ancak, akış günlüklerini görüntüle' yi seçtiğinizde Visual Studio uygulama günlüğü (dosya sistemi) otomatik olarak hata olarak değiştirildi, bu da hata düzeyi günlüklerin raporlandığı anlamına gelir. Tüm izleme günlüklerinizi görmek için bu ayarı verbose olarak değiştirebilirsiniz. Hatadan daha düşük bir önem düzeyi seçtiğinizde, daha yüksek önem düzeyleri için tüm Günlükler de raporlanır. Ayrıntılı ' i seçtiğinizde bilgi, uyarı ve hata günlüklerini de görürsünüz.
Sunucu Gezgini, uygulamaya sağ tıklayın ve ardından daha önce yaptığınız gibi Ayarlar görüntüle ' ye tıklayın.
Uygulama günlüğünü (dosya sistemi) ayrıntılı olarak değiştirin ve ardından Kaydet' e tıklayın.

Şimdi iletişim sayfanızı gösteren tarayıcı penceresinde, giriş' e ve ardından hakkında' ya ve ardından iletişim' e tıklayın.
Birkaç saniye içinde, Çıkış penceresi tüm izleme çıktılarınızı gösterir.

Bu bölümde, uygulama ayarlarını kullanarak günlüğü etkinleyerek ve devre dışı bırakmış olursunuz. Ayrıca, Web.config dosyasını değiştirerek izleme dinleyicilerini etkinleştirebilir ve devre dışı bırakabilirsiniz. Ancak, Web.config dosyanın değiştirilmesi, uygulama etki alanının geri dönüşüm yapmasına neden olur, ancak uygulama yapılandırması aracılığıyla günlüğü etkinleştirmek bunu yapmaz. Sorunun yeniden oluşturulması uzun sürmesi veya aralıklı olması halinde, uygulama etki alanını geri dönüştürme işlemi "düzeltir" ve yeniden gerçekleşene kadar beklemeniz zorunlu olabilir. Azure 'da tanılamayı etkinleştirmek, uygulama etki alanını geri dönüşüme gerek kalmadan hata bilgilerini hemen yakalamaya başlayabilmenizi sağlar.
Çıkış penceresi özellikleri
çıkış penceresinin Microsoft Azure Logs sekmesinde birkaç düğme ve bir metin kutusu vardır:
Bunlar aşağıdaki işlevleri gerçekleştirir:
- Çıkış penceresini temizleyin.
- Sözcük kaydırmayı etkinleştirin veya devre dışı bırakın.
- İzleme günlüklerini başlatın veya durdurun.
- Hangi günlüklerin izleneceğini belirtin.
- Günlükleri indirin.
- Günlükleri bir arama dizesine veya normal ifadeye göre filtreleyin.
- Çıkış penceresini kapatın.
arama dizesi veya normal ifade girerseniz Visual Studio filtre bilgileri istemcide günlüğe kaydediliyor. Bu, Günlükler Çıkış penceresinde görüntülendikten sonra ölçütleri girebileceğiniz ve günlükleri yeniden oluşturmak zorunda kalmadan filtre ölçütlerini değiştirebileceðiniz anlamına gelir.
Web sunucusu günlüklerini görüntüle
Web sunucusu günlükleri, uygulamanın tüm HTTP etkinliklerini kaydeder. bunları çıkış penceresinde görmek için uygulamayı etkinleştirmeniz ve izlemek istediğiniz Visual Studio söylemeniz gerekir.
Sunucu Gezgini açtığınız Azure Web uygulaması yapılandırması sekmesinde, Web sunucusu günlük kaydını Açık olarak değiştirin ve ardından Kaydet' e tıklayın.

çıkış penceresinde, izlenecek Microsoft Azure günlüğe kaydedileceği ' ı seçin.

Microsoft Azure günlük seçenekleri iletişim kutusunda, Web sunucusu günlükleri' ni seçin ve ardından tamam' a tıklayın.

Uygulamayı gösteren tarayıcı penceresinde, giriş' e ve ardından hakkında' ya ve ardından iletişim' e tıklayın.
Uygulama günlükleri genellikle önce ve ardından Web sunucusu günlükleri görünür. Günlüklerin görünmesi için bir süre beklemeniz gerekebilir.

varsayılan olarak, Visual Studio kullanarak web sunucusu günlüklerini ilk kez etkinleştirdiğinizde, Azure günlükleri dosya sistemine yazar. Alternatif olarak, bir depolama hesabındaki bir blob kapsayıcısına Web sunucusu günlüklerinin yazılması gerektiğini belirtmek için Azure portal kullanabilirsiniz.
portalı kullanarak bir Azure depolama hesabına web sunucusu günlüğünü etkinleştirebilir ve ardından Visual Studio oturum açmayı devre dışı bıraktığınızda Visual Studio, depolama hesabı ayarlarınız geri yüklenir.
Ayrıntılı hata iletisi günlüklerini görüntüle
Ayrıntılı hata günlükleri hata yanıt kodlarına (400 veya üzeri) neden olan HTTP istekleri hakkında bazı ek bilgiler sağlar. bunları çıkış penceresinde görmek için, bunları uygulama için etkinleştirmeniz ve izlemek istediğiniz Visual Studio söylemeniz gerekir.
Sunucu Gezgini açtığınız Azure Web uygulaması yapılandırması sekmesinde, ayrıntılı hata iletilerini Açık olarak değiştirin ve ardından Kaydet' e tıklayın.

çıkış penceresinde, izlenecek Microsoft Azure günlüğe kaydedileceği ' ı seçin.
Microsoft Azure günlük seçenekleri iletişim kutusunda, tüm günlükler' e ve ardından tamam' a tıklayın.

Tarayıcı penceresinin Adres çubuğunda, URL 'ye bir 404 hatasına (örneğin,) neden olacak ek bir karakter ekleyin
http://localhost:53370/Home/Contactxve ENTER tuşuna basın.birkaç saniye sonra, ayrıntılı hata günlüğü Visual Studio çıkış penceresinde görüntülenir.

Denetim + bir tarayıcıda biçimlendirilen günlük çıktısını görmek için bağlantıya tıklayın:

Dosya sistemi günlüklerini indir
Çıkış penceresinde izleyebilmeniz gereken Günlükler de bir .zip dosyası olarak indirilebilir.
Çıkış penceresinde, akış günlüklerini indir' e tıklayın.
Dosya Gezgini, indirilen dosya seçiliyken indirmeler klasörünüze açılır.
.zip dosyasını ayıklayın ve aşağıdaki klasör yapısını görürsünüz:
Uygulama izleme günlükleri logfiles\application klasöründeki .txt dosyalardır.
Web sunucusu günlükleri, Logfiles\http\rawlogs klasöründeki . log dosyalarıdır. Bu dosyaları görüntülemek ve işlemek için günlük ayrıştırıcısı gibi bir araç kullanabilirsiniz.
Ayrıntılı hata iletisi günlükleri, Logfiles\detailederrors klasöründeki .html dosyalardır.
( dağıtımlar klasörü, kaynak denetimi yayımlama tarafından oluşturulan dosyalara yöneliktir; Visual Studio yayımlamayla ilgili hiçbir şey yoktur. Git klasörü, kaynak denetimi yayımlama ve günlük dosyası akış hizmeti ile ilgili izlemeler içindir.)
Başarısız istek izleme günlüklerini görüntüle
Başarısız istek izleme günlükleri, URL yeniden yazma veya kimlik doğrulama sorunları gibi senaryolarda IIS 'nin bir HTTP isteğini nasıl ele aldığı hakkındaki ayrıntıları anlamanız gerektiğinde kullanışlıdır.
App Service uygulamalar, IIS 7,0 ve üzeri sürümlerde bulunan başarısız istek izleme işlevini kullanır. Ancak hangi hataların günlüğe alınacağını yapılandıran IIS ayarlarına erişiminiz yok. Başarısız istek izlemeyi etkinleştirdiğinizde, tüm hatalar yakalanır.
Visual Studio kullanarak başarısız istek izlemeyi etkinleştirebilirsiniz, ancak bunları Visual Studio görüntüleyemezsiniz. Bu Günlükler XML dosyalarıdır. Akış günlüğü hizmeti yalnızca düz metin modunda okunabilir olan dosyaları izler: .txt, .html ve . log dosyaları.
Başarısız istek izleme günlüklerini bir tarayıcıda doğrudan FTP aracılığıyla veya yerel bilgisayarınıza indirmek için FTP aracını kullanarak yerel olarak görüntüleyebilirsiniz. Bu bölümde, bunları doğrudan bir tarayıcıda görüntüleyebilirsiniz.
Sunucu Gezgini açtığınız Azure Web uygulaması penceresinin yapılandırma sekmesinde, başarısız Istek izlemeyi Açık olarak değiştirin ve ardından Kaydet' e tıklayın.

Uygulamayı gösteren tarayıcı penceresinin Adres çubuğunda, URL 'ye fazladan bir karakter ekleyin ve 404 hatasına yol açabilecek şekilde ENTER ' a tıklayın.
Bu, bir başarısız istek izleme günlüğünün oluşturulmasına neden olur ve aşağıdaki adımlarda günlüğün nasıl görüntüleneceği veya indirileceği gösterilmektedir.
Visual Studio ' de, Azure Web uygulaması penceresinin yapılandırma sekmesinde Yönetim Portalı aç' a tıklayın.
uygulamanızın Azure portal Ayarlar sayfasında, dağıtım kimlik bilgileri' ne tıklayın ve ardından yeni bir kullanıcı adı ve parola girin.

Not
Oturum açtığınızda, tam Kullanıcı adını, ön eki olan uygulama adıyla birlikte kullanmanız gerekir. Örneğin, Kullanıcı adı olarak "MyID" girerseniz ve site "myExample" ise, "myexample\myıd" olarak oturum açın.
Yeni bir tarayıcı penceresinde, uygulamanızın genel bakış sayfasında FTP konak adı veya FTPS ana bilgisayar adı altında gösterilen URL 'ye gidin.
Daha önce oluşturduğunuz FTP kimlik bilgilerini (Kullanıcı adı için uygulama adı öneki dahil) kullanarak oturum açın.
Tarayıcı, uygulamanın kök klasörünü gösterir.
LogFiles klasörünü açın.

W3SVC ve bir sayısal değer adlı klasörü açın.

Klasörü, başarısız istek izlemeyi etkinleştirdikten sonra günlüğe kaydedilen hatalar için XML dosyalarını ve bir tarayıcının XML 'yi biçimlendirmek için kullanabileceği bir XSL dosyasını içerir.

İzleme bilgilerini görmek istediğiniz başarısız isteğin XML dosyasına tıklayın.
Aşağıdaki çizimde bir örnek hata için izleme bilgilerinin bir kısmı gösterilmektedir.

Sonraki adımlar
Visual Studio, App Service bir uygulama tarafından oluşturulan günlükleri görüntülemeyi nasıl kolaylaştırdığını gördünüz. Aşağıdaki bölümler ilgili konularda daha fazla kaynağa bağlantılar sağlar:
- App Service sorunlarını giderme
- Visual Studio'da Hata Ayıklama
- Azure 'da uzaktan hata ayıklama
- ASP.NET uygulamalarında izleme
- Web sunucusu günlüklerini çözümleme
- Başarısız istek izleme günlükleri çözümleniyor
- Hata ayıklama Cloud Services
App Service sorunlarını giderme
Azure App Service uygulamalarla ilgili sorun giderme hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:
- Uygulamaları izleme
- Visual Studio 2013 ile Azure App Service bellek sızıntılarını araştırma. yönetilen bellek sorunlarını analiz etmek için Visual Studio özellikler hakkında Microsoft ALM blog gönderisi.
- Bilmeniz gereken çevrimiçi araçları Azure App Service. Amit Apple tarafından blog gönderisi.
Belirli bir sorun giderme sorusu hakkında yardım için aşağıdaki forumlardan birinde bir iş parçacığı başlatın:
Visual Studio'da Hata Ayıklama
Visual Studio hata ayıklama modunun nasıl kullanılacağı hakkında daha fazla bilgi için, bkz. Visual Studio ve hata ayıklama İpuçları Visual Studio 2010.
Azure 'da uzaktan hata ayıklama
App Service uygulamalar ve Web Işleri için uzaktan hata ayıklama hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:
- Uzaktan hata ayıklama Azure App Service giriş.
- Uzaktan hata ayıklama Azure App Service Bölüm 2 ' ye giriş-uzak hata ayıklama Içinde
- Azure App Service Bölüm 3 ' te uzaktan hata ayıklamaya giriş-çok örnekli ortam ve GIT
- Web Işleri hata ayıklaması (video)
uygulamanız bir Azure Web apı 'si veya arka uç Mobile Services kullanıyorsa ve hata ayıklaması yapmanız gerekiyorsa, bkz. Visual Studio 'de .net arka ucunu hata ayıklama.
ASP.NET uygulamalarında izleme
ınternet 'te kullanılabilir ASP.NET izlemeye yönelik kapsamlı ve güncel tanıtımları yoktur. en iyi yöntem, MVC henüz olmadığı için Web Forms yazılmış eski giriş malzemeleri ile çalışmaya başlayın ve bu, belirli sorunlara odaklanarak daha yeni blog gönderileriyle birlikte ek niteliğindedir. Başlamak için bazı iyi konumlar aşağıdaki kaynaklardır:
İzleme ve telemetri (Azure ile Real-World bulut uygulamaları oluşturma).
Azure bulut uygulamalarında izlemeye yönelik önerilere sahip E-kitap bölümü.ASP.NET İzleniyor
Konunun temel tanıtımı için eski ancak hala iyi bir kaynak.İz Dinleyicileri
İzleme dinleyicileri hakkında bilgiler, ancak Webpagetkıcelistener'tan bahsetmez.izlenecek yol: ASP.NET izlemeyi System. Diagnostics izleme ile tümleştirme
Bu makale de Eskiler, ancak giriş makalesinin kapsamadığında bazı ek bilgiler içerir.ASP.NET MVC Razor görünümlerinde izleme
Razor görünümlerinde izlemenin yanı sıra, bu gönderi bir MVC uygulamasında işlenmeyen tüm özel durumları günlüğe kaydetmek için bir hata filtresi oluşturmayı da açıklar. Web Forms uygulamasındaki tüm işlenmemiş özel durumların nasıl günlüğe kaydedilecek hakkında daha fazla bilgi için, MSDN 'de hata işleyicileri için bkz. Global. asax örneği. MVC veya Web Forms, bazı özel durumları günlüğe kaydetmek, ancak varsayılan çerçeve işleme için geçerli olmasını sağlamak istiyorsanız, aşağıdaki örnekte olduğu gibi yakalayabilir ve yeniden oluşturabilirsiniz:try { // Your code that might cause an exception to be thrown. } catch (Exception ex) { Trace.TraceError("Exception: " + ex.ToString()); throw; }Azure komut satırından akış tanılama Izleme günlüğü (ek olarak, göz at!)
Bu öğreticinin Visual Studio nasıl yapılacağını gösteren komut satırını kullanarak nasıl yapılacağını öğrenin. göz at ASP.NET uygulamalarda hata ayıklamak için bir araçtır.David Ebbo ile Web Apps ve akış günlükleri Ile Web Apps günlüğe kaydetme ve tanılama kullanma
Scott Hanselman ve David Ebbo tarafından videolar.
Hata günlüğü için, kendi izleme kodunuzu yazmanın alternatifi, ELMAHgibi açık kaynaklı bir günlük çerçevesini kullanmaktır. Daha fazla bilgi için bkz. Scott Hanselman 'ıN ELMAH hakkındaki blog gönderileri.
ayrıca, System.Diagnostics Azure 'dan akış günlükleri almak için ASP.NET veya izlemeyi kullanmanıza gerek yoktur. App Service uygulama akış günlüğü hizmeti, LogFiles klasöründe bulduğu tüm .txt, .html veya . log dosyalarını akışlar. Bu nedenle, uygulamanın dosya sistemine yazan kendi günlük sisteminizi oluşturabilirsiniz ve dosyanız otomatik olarak akışa ve indirilir. Tüm yapmanız gereken, d:\home\logfiles klasöründe dosya oluşturan bir uygulama kodu yazmak.
Web sunucusu günlüklerini çözümleme
Web sunucusu günlüklerinin çözümlenmesi hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:
- LogParser
Web sunucusu günlüklerinde (. log dosyaları) veri görüntülemeye yönelik bir araç. - LogParser kullanarak IIS performans sorunlarını veya uygulama hatalarını giderme
Web sunucusu günlüklerini çözümlemek için kullanabileceğiniz, Günlük ayrıştırıcı aracına giriş. - LogParser kullanarak Robert McMurray tarafından blog gönderileri
- IIS 7,0, IIS 7,5 ve IIS 8,0 'deki HTTP durum kodu
Başarısız istek izleme günlükleri çözümleniyor
Microsoft TechNet Web sitesi, bu günlüklerin nasıl kullanılacağını anlamak için faydalı olabilecek bir başarısız Istek izleme bölümü içerir. Ancak, bu belge temel olarak, Azure App Service ' de yapamıyorsanız, IIS 'de başarısız istek izlemeyi yapılandırmaya odaklanmaktadır.