Problemen met een app in Azure App Service oplossen met Visual Studio

Overzicht

Deze zelfstudie laat zien hoe u Visual Studio-hulpprogramma's kunt gebruiken om fouten in een app op te sporen in App Service,door op afstand uit te werken in de foutopsporingsmodus of door toepassingslogboeken en webserverlogboeken te bekijken.

U leert het volgende:

  • Welke app-beheerfuncties beschikbaar zijn in Visual Studio.
  • Het gebruik van Visual Studio externe weergave om snelle wijzigingen aan te brengen in een externe app.
  • Hoe u de foutopsporingsmodus op afstand kunt uitvoeren terwijl een project wordt uitgevoerd in Azure, zowel voor een app als voor een webjob.
  • Traceerlogboeken voor toepassingen maken en weergeven terwijl de toepassing ze maakt.
  • Webserverlogboeken weergeven, inclusief gedetailleerde foutberichten en tracering van mislukte aanvragen.
  • Diagnostische logboeken verzenden naar een Azure Storage account en deze daar weergeven.

Als u een Visual Studio Ultimate hebt, kunt u IntelliTrace ook gebruiken voor het debuggen. IntelliTrace wordt niet behandeld in deze zelfstudie.

Vereisten

Deze zelfstudie werkt met de ontwikkelomgeving, het webproject en de App Service-app die u hebt ingesteld in Een ASP.NET-app maken in Azure App Service. Voor de secties WebJobs hebt u de toepassing nodig die u in Aan de slag met de Azure WebJobs SDK.

De codevoorbeelden die in deze zelfstudie worden weergegeven, zijn voor een C# MVC-webtoepassing, maar de procedures voor probleemoplossing zijn hetzelfde voor Visual Basic en Web Forms toepassingen.

In deze zelfstudie wordt ervan uit Visual Studio 2019 gebruikt.

De functie voor streaminglogboeken werkt alleen voor toepassingen die zijn .NET Framework 4 of hoger.

App-configuratie en -beheer

Visual Studio biedt toegang tot een subset van de app-beheerfuncties en configuratie-instellingen die beschikbaar zijn in Azure Portal. In deze sectie ziet u wat er beschikbaar is met behulp van Server Explorer. Als u de nieuwste functies van Azure-integratie wilt zien, kunt u Cloud Explorer ook uitproberen. U kunt beide vensters openen vanuit het menu Weergave.

  1. Als u nog niet bent aangemeld bij Azure in Visual Studio, klikt u met de rechtermuisknop op Azure en selecteert u Verbinding maken in Microsoft Azure abonnement Server Explorer.

    U kunt ook een beheercertificaat installeren dat toegang tot uw account mogelijk maakt. Als u ervoor kiest om een certificaat te installeren, klikt u met de rechtermuisknop op het Azure-knooppunt in Server Explorer en selecteert u vervolgens Abonnementen beheren en filteren in het contextmenu. Klik in het dialoogvenster Microsoft Azure-abonnementen beheren op het tabblad Certificaten en klik vervolgens op Importeren. Volg de aanwijzingen om een abonnementsbestand (ook wel een .publishsettings-bestand genoemd) voor uw Azure-account te downloaden en vervolgens te importeren.

    Notitie

    Als u een abonnementsbestand downloadt, sla het dan op in een map buiten uw broncodemappen (bijvoorbeeld in de map Downloads) en verwijder het nadat het importeren is voltooid. Een kwaadwillende gebruiker die toegang krijgt tot het abonnementsbestand kan uw Azure-services bewerken, maken en verwijderen.

    Zie Azure-rollen toewijzen met behulp van de Azure Portal voor meer informatie over het maken van verbinding met Azure-resources Visual Studio.

  2. Vouw in Server Explorer Azure uit en vouw App Service.

  3. Vouw de resourcegroep uit die de app bevat die u hebt gemaakt in Een ASP.NET-app maken in Azure App Service,klik met de rechtermuisknop op het app-knooppunt en klik op Instellingen.

    De Instellingen weergeven in Server Explorer

    Het tabblad Azure-web-app wordt weergegeven. Hier ziet u de app-beheer- en configuratietaken die beschikbaar zijn in Visual Studio.

    Venster Azure-web-app

    In deze zelfstudie gebruikt u de vervolgkeuzeopties voor logboekregistratie en tracering. U gebruikt ook externe debugging, maar u gebruikt een andere methode om dit in te stellen.

    Zie voor informatie over de vakken App Instellingen en Verbindingsreeksen in dit venster Azure App Service: Hoetoepassingsreeksen en verbindingsreeksen werken.

    Als u een app-beheertaak wilt uitvoeren die niet in dit venster kan worden uitgevoerd, klikt u op Openen in Beheerportal om een browservenster te openen voor de Azure Portal.

Toegang tot app-bestanden in Server Explorer

Meestal implementeert u een webproject met de vlag in het Web.config-bestand ingesteld op of , wat betekent dat er geen handig foutbericht wordt weergegeven wanneer er iets customErrors On RemoteOnly misgaat. Voor veel fouten krijgt u alleen een pagina zoals een van de volgende:

Serverfout in '/'-toepassing:

Schermopname van een serverfout in toepassingsfout '/' in een webbrowser.

Er is een fout opgetreden:

Schermopname van een voorbeeld van een algemene fout die in een webbrowser optreedt.

De website kan de pagina niet weergeven

Schermopname van een bericht met de tekst **De website kan de paginafout niet weergeven in een webbrowser**.

De eenvoudigste manier om de oorzaak van de fout te vinden, is door gedetailleerde foutberichten in te stellen. In de eerste van de voorgaande schermopnamen wordt uitgelegd hoe dit moet. Hiervoor is een wijziging in het geïmplementeerde Web.config vereist. U kunt het Web.config-bestand bewerken in het project en het Web.config project opnieuw implementeren, of een transformatie maken en een foutopsporings build implementeren, maar er is een snellere manier: in Solution Explorer kunt u bestanden rechtstreeks weergeven en bewerken in de externe app met behulp van de functie externe weergave.

  1. Vouw in Server Explorer Azure uit, vouw App Service uit, vouw de resourcegroep uit waarin uw app zich bevindt en vouw vervolgens het knooppunt voor uw app uit.

    U ziet knooppunten die u toegang geven tot de inhoudsbestanden en logboekbestanden van de app.

  2. Vouw het knooppunt Bestanden uit en dubbelklik op het Web.config bestand.

    Open Web.config

    Visual Studio opent het Web.config van de externe app en geeft [Remote] weer naast de bestandsnaam in de titelbalk.

  3. Voeg de volgende regel toe aan het system.web element :

    <customErrors mode="Off"></customErrors>

    De Web.config

  4. Vernieuw de browser waarin het foutbericht niet wordt weergegeven en u krijgt nu een gedetailleerd foutbericht, zoals in het volgende voorbeeld:

    Gedetailleerd foutbericht

    (De weergegeven fout is gemaakt door de in rood weergegeven regel toe te voegen aan Views\Home\Index.cshtml.)

Het bewerken Web.config bestand is slechts één voorbeeld van scenario's waarin de mogelijkheid om bestanden op uw app te lezen en te bewerken App Service eenvoudiger maakt.

Apps voor externe debuggen

Als het gedetailleerde foutbericht onvoldoende informatie biedt en u de fout niet lokaal opnieuw kunt maken, kunt u het probleem ook oplossen door op afstand in de foutopsporingsmodus uit te voeren. U kunt onderbrekingspunten instellen, geheugen rechtstreeks bewerken, code stapsgewijs doorseen en zelfs het codepad wijzigen.

Externebuggen werkt niet in Express-edities van Visual Studio.

In deze sectie ziet u hoe u op afstand fouten opsport met behulp van het project dat u maakt in Een ASP.NET-app maken in Azure App Service.

  1. Open het webproject dat u hebt gemaakt in Een ASP.NET app maken in Azure App Service.

  2. Open Controllers\HomeController.cs.

  3. Verwijder de About() methode en voeg de volgende code in de plaats in.

    public ActionResult About()
    {
        string currentTime = DateTime.Now.ToLongTimeString();
        ViewBag.Message = "The current time is " + currentTime;
        return View();
    }
    
  4. Stel een onderbrekingspunt in op de ViewBag.Message regel.

  5. Klik Solution Explorer met de rechtermuisknop op het project en klik op Publiceren.

  6. Selecteer in de vervolgkeuzelijst Profiel hetzelfde profiel dat u hebt gebruikt in Een app ASP.NET maken in Azure App Service. Klik vervolgens op Instellingen.

  7. Klik in het dialoogvenster Publiceren op het tabblad Instellingen en wijzig configuratie in Fouten opsporen en klik vervolgens op Opslaan.

    Publiceren in de foutopsporingsmodus

  8. Klik op Publish. Nadat de implementatie is uitgevoerd en uw browser wordt geopend met de Azure-URL van uw app, sluit u de browser.

  9. Klik Server Explorer met de rechtermuisknop op uw app en klik vervolgens op Attach Debugger.

    Schermopname van het Server Explorer waarin een app is geselecteerd en klik vervolgens op Attach Debugger.

    De browser wordt automatisch geopend op de startpagina die wordt uitgevoerd in Azure. Mogelijk moet u ongeveer 20 seconden wachten terwijl Azure de server in stelt voor debuggen. Deze vertraging vindt alleen plaats wanneer u in de foutopsporingsmodus voor een app in een periode van 48 uur wordt uitgevoerd. Wanneer u in dezelfde periode opnieuw begint met de probleemopsporing, is er geen vertraging.

    Notitie

    Als u problemen hebt met het starten van het debugger, probeert u dit te doen met Behulp van Cloud Explorer in plaats van Server Explorer.

  10. Klik op Over in het menu.

    Visual Studio stopt op het onderbrekingspunt en de code wordt uitgevoerd in Azure, niet op uw lokale computer.

  11. Beweeg de currentTime muisaanwijzer over de variabele om de tijdwaarde te bekijken.

    Variabele weergeven in foutopsporingsmodus die wordt uitgevoerd in Azure

    De tijd die u ziet, is de Azure-servertijd, die zich mogelijk in een andere tijdzone bevindt dan uw lokale computer.

  12. Voer een nieuwe waarde in voor currentTime de variabele, zoals 'Nu wordt uitgevoerd in Azure'.

  13. Druk op F5 om door te gaan met uitvoeren.

    Op de pagina Over die wordt uitgevoerd in Azure wordt de nieuwe waarde weergegeven die u hebt ingevoerd in de variabele currentTime.

    Pagina met nieuwe waarde

WebJobs voor externe debuggen

In deze sectie ziet u hoe u op afstand fouten opsport met behulp van het project en de app die u in Aan de slag met de Azure WebJobs SDK.

De functies die in deze sectie worden weergegeven, zijn alleen beschikbaar in Visual Studio 2013 met Update 4 of hoger.

Externe debugging werkt alleen met continue webjobs. Geplande en on-demand webjobs bieden geen ondersteuning voor debuggen.

  1. Open het webproject dat u hebt gemaakt in Aan de slag met Azure WebJobs SDK.

  2. Open functions.cs in het project ContosoAdsWebJob.

  3. Stel een onderbrekingspunt in voor de eerste instructie in de GnerateThumbnail methode .

    Onderbrekingspunt instellen

  4. Klik Solution Explorer met de rechtermuisknop op het webproject (niet op het WebJob-project) en klik op Publish.

  5. Selecteer in de vervolgkeuzelijst Profiel hetzelfde profiel dat u hebt gebruikt in Aan de slag met Azure WebJobs SDK.

  6. Klik op Instellingen en wijzig Configuratie in Fouten opsporen en klik vervolgens op Publiceren.

    Visual Studio implementeert de web- en webjobprojecten en wordt uw browser geopend met de Azure-URL van uw app.

  7. Vouw in Server Explorer Azure > App Service > uw resourcegroep > uw app > WebJobs > Continuous uit en klik vervolgens met de rechtermuisknop op ContosoAdsWebJob.

  8. Klik op Attach Debugger.

    Schermopname van Server Explorer met ContosoAdsWebJob geselecteerd in de vervolgkeuzelijst en Attach Debugger geselecteerd.

    De browser wordt automatisch geopend op de startpagina die wordt uitgevoerd in Azure. Mogelijk moet u ongeveer 20 seconden wachten terwijl Azure de server in stelt voor het uitvoeren van debuggen. Deze vertraging vindt alleen plaats wanneer u voor het eerst in de foutopsporingsmodus in een app in een periode van 48 uur wordt uitgevoerd. Wanneer u debuggen opnieuw in dezelfde periode start, is er geen vertraging.

  9. Maak een nieuwe advertentie in de webbrowser die wordt geopend voor de startpagina van Contoso Ads.

    Als u een advertentie maakt, wordt er een wachtrijbericht gemaakt dat door de webjob wordt opgehaald en verwerkt. Wanneer de WebJobs SDK de functie aanroept om het wachtrijbericht te verwerken, raakt de code uw onderbrekingspunt.

  10. Wanneer het debugger op uw onderbrekingspunt wordt breekt, kunt u variabele waarden onderzoeken en wijzigen terwijl het programma de cloud wordt uitgevoerd. In de volgende afbeelding toont het debugger de inhoud van het blobInfo-object dat is doorgegeven aan de GenerateThumbnail methode .

    blobInfo-object in het debugger

  11. Druk op F5 om door te gaan met uitvoeren.

    De GenerateThumbnail methode is klaar met het maken van de miniatuur.

  12. Vernieuw de indexpagina in de browser en u ziet de miniatuur.

  13. Druk Visual Studio shift+F5 om debuggen te stoppen.

  14. Klik Server Explorer met de rechtermuisknop op het knooppunt ContosoAdsWebJob en klik op Dashboard weergeven.

  15. Meld u aan met uw Azure-referenties en klik vervolgens op de naam van de webjob om naar de pagina voor uw webjob te gaan.

    Klik op ContosoAdsWebJob

    In het dashboard ziet u dat de GenerateThumbnail functie onlangs is uitgevoerd.

    (De volgende keer dat u op Dashboard weergeven klikt, hoeft u zich niet aan te melden en gaat de browser rechtstreeks naar de pagina voor uw webjob.)

  16. Klik op de naam van de functie voor meer informatie over de uitvoering van de functie.

    Functiedetails

Als uw functie logboeken heeft geschreven,kunt u op ToggleOutput klikken om deze weer te geven.

Opmerkingen over foutopsporing op afstand

  • Uitvoeren in de foutopsporingsmodus in productie wordt niet aanbevolen. Als uw productie-app niet is geschaald naar meerdere server-exemplaren, voorkomt u dat de webserver reageert op andere aanvragen. Als u meerdere exemplaren van de webserver hebt en u aan het debugger koppelt, krijgt u een willekeurig exemplaar en kunt u er niet voor zorgen dat volgende browseraanvragen naar hetzelfde exemplaar gaan. Bovendien implementeert u doorgaans geen build voor foutopsporing naar productie, en met compileroptimalisaties voor release-builds is het mogelijk niet mogelijk om regel voor regel in uw broncode weer te geven wat er gebeurt. Voor het oplossen van productieproblemen is toepassingstracering en webserverlogboeken de beste resource.

  • Vermijd lange stops bij onderbrekingspunten bij externe foutenopsporing. Azure behandelt een proces dat langer dan een paar minuten wordt gestopt als een niet-reagerend proces en sluit het af.

  • Tijdens het debuggen stuurt de server gegevens naar Visual Studio, wat invloed kan hebben op de bandbreedtekosten. Zie Prijzen voor Azure voor meer informatie over bandbreedtesnelheden.

  • Zorg ervoor dat het debug kenmerk van het element in het compilation Web.config is ingesteld op true. Deze is standaard ingesteld op true wanneer u een buildconfiguratie voor foutopsporing publiceert.

    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
    
  • Als u ziet dat het foutopsporingsygger niet in de code komt die u wilt opsporen, moet u mogelijk de instelling Just My Code foutopsporing. Zie Specify whether to debug only user code using Just My Code in Visual Studiovoor meer informatie.

  • Er wordt een timer op de server gestart wanneer u de functie voor externe debuggen inschakelen. Na 48 uur wordt de functie automatisch uitgeschakeld. Deze limiet van 48 uur wordt uitgevoerd om veiligheids- en prestatieredenen. U kunt de functie eenvoudig zo vaak weer in-/uit zetten als u wilt. We raden u aan deze uitgeschakeld te laten wanneer u niet actief debuggen bent.

  • U kunt het debugger handmatig koppelen aan elk proces, niet alleen aan het app-proces (w3wp.exe). Zie Foutopsporing in Visual Studio voor meer informatie over het gebruik van de foutopsporingsmodus in Visual Studio.

Overzicht van diagnostische logboeken

Een ASP.NET die wordt uitgevoerd in een App Service-app kan de volgende soorten logboeken maken:

  • Logboeken voor toepassingstracing
    De toepassing maakt deze logboeken door methoden van de klasse System.Diagnostics.Trace aan te roepen.
  • Webserverlogboeken
    De webserver maakt een logboekinvoer voor elke HTTP-aanvraag voor de app.
  • Gedetailleerde logboeken voor foutmeldingen
    De webserver maakt een HTML-pagina met aanvullende informatie voor mislukte HTTP-aanvragen (aanvragen die resulteren in statuscode 400 of hoger).
  • Logboeken voor tracering van mislukte aanvragen
    De webserver maakt een XML-bestand met gedetailleerde traceringsinformatie voor mislukte HTTP-aanvragen. De webserver biedt ook een XSL-bestand om de XML in een browser op te maken.

Logboekregistratie is van invloed op de prestaties van apps, zodat u in Azure elk type logboek naar behoefte kunt in- of uitschakelen. Voor toepassingslogboeken kunt u opgeven dat alleen logboeken boven een bepaald ernstniveau moeten worden geschreven. Wanneer u een nieuwe app maakt, wordt standaard alle logboekregistratie uitgeschakeld.

Logboeken worden geschreven naar bestanden in een Map LogFiles in het bestandssysteem van uw app en zijn toegankelijk via FTP. Webserverlogboeken en toepassingslogboeken kunnen ook naar een Azure Storage worden geschreven. U kunt een groter volume aan logboeken in een opslagaccount behouden dan mogelijk is in het bestandssysteem. U bent beperkt tot maximaal 100 MB aan logboeken wanneer u het bestandssysteem gebruikt. (Bestandssysteemlogboeken zijn alleen voor kortetermijnretentie. Azure verwijdert oude logboekbestanden om ruimte te maken voor nieuwe logboeken nadat de limiet is bereikt.)

Toepassings traceerlogboeken maken en weergeven

In deze sectie gaat u de volgende taken uitvoeren:

  • Voeg tracerings instructies toe aan het webproject dat u hebt gemaakt in Aan de slag met Azure en ASP.NET.
  • Bekijk de logboeken wanneer u het project lokaal hebt uitgevoerd.
  • Bekijk de logboeken zoals ze worden gegenereerd door de toepassing die wordt uitgevoerd in Azure.

Zie How to work with Azure queue storage using the WebJobs SDK - How to write logs(Werken met Azure Queue Storage met behulp van de WebJobs SDK - Logboeken schrijven) voor meer informatie over het maken van toepassingslogboeken in WebJobs. De volgende instructies voor het weergeven van logboeken en het beheren van hoe ze worden opgeslagen in Azure zijn ook van toepassing op toepassingslogboeken die zijn gemaakt door WebJobs.

Tracerings instructies toevoegen aan de toepassing

  1. Open Controllers\HomeController.cs en vervang de methoden , en door de volgende code om -instructies en een -instructie voor toe Index te About Contact Trace using System.Diagnostics voegen:

    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();
    }        
    
  2. Voeg bovenaan using System.Diagnostics; het bestand een -instructie toe.

De traceringsuitvoer lokaal weergeven

  1. Druk op F5 om de toepassing uit te voeren in de foutopsporingsmodus.

    De standaard traceerlistener schrijft alle traceeruitvoer naar het uitvoervenster, samen met andere foutopsporingsuitvoer. In de volgende afbeelding ziet u de uitvoer van de traceer-instructies die u aan de methode hebt Index toegevoegd.

    Tracering in foutopsporingsvenster

    De volgende stappen laten zien hoe u traceeruitvoer op een webpagina kunt weergeven, zonder compileren in de foutopsporingsmodus.

  2. Open het toepassingsbestand Web.config (het bestand dat zich in de projectmap bevindt) en voeg een -element toe aan het einde van het bestand net vóór <system.diagnostics> het afsluitende </configuration> element:

    <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>
    

Met WebPageTraceListener kunt u traceeruitvoer weergeven door naar te /trace.axd bladeren.

  1. Voeg een traceerelement toe <system.web> onder in Web.config bestand, zoals in het volgende voorbeeld:

    <trace enabled="true" writeToDiagnosticsTrace="true" mostRecent="true" pageOutput="false" />
    
  2. Druk op CTRL + F5 om de toepassing uit te voeren.

  3. Voeg in de adresbalk van het browservenster trace.axd toe aan de URL en druk vervolgens op Enter (de URL is vergelijkbaar met http://localhost:53370/trace.axd ).

  4. Klik op de pagina Toepassings trace op Details weergeven op de eerste regel (niet op de regel BrowserLink).

    Schermopname van de pagina Application Trace in een webbrowser met View Details geselecteerd op de eerste regel.

    De pagina Aanvraagdetails wordt weergegeven en in de sectie Trace information ziet u de uitvoer van de traceer-instructies die u aan de methode hebt Index toegevoegd.

    Schermopname van de pagina Aanvraagdetails in een webbrowser met een bericht gemarkeerd in de sectie Trace Information.

    Is standaard trace.axd alleen lokaal beschikbaar. Als u het beschikbaar wilt maken vanuit een externe app, kunt u toevoegen aan het element in het localOnly="false" trace Web.config-bestand, zoals wordt weergegeven in het volgende voorbeeld:

    <trace enabled="true" writeToDiagnosticsTrace="true" localOnly="false" mostRecent="true" pageOutput="false" />
    

    Het inschakelen trace.axd in een productie-app wordt echter uit veiligheidsoverwegingen niet aanbevolen. In de volgende secties ziet u een eenvoudigere manier om traceringslogboeken in een App Service lezen.

De traceringsuitvoer in Azure weergeven

  1. Klik Solution Explorer met de rechtermuisknop op het webproject en klik op Publish.

  2. Klik in het dialoogvenster Publiceren op Publiceren.

    Nadat Visual Studio update hebt gepubliceerd, wordt er een browservenster naar uw startpagina geopend (ervan uitgaande dat u doel-URL niet hebt gew clear op het tabblad Verbinding).

  3. Klik Server Explorer met de rechtermuisknop op uw app en selecteer Streaminglogboeken weergeven.

    Schermopname van Server Explorer nadat u met de rechtermuisknop op uw app hebt geklikt, met Streaminglogboeken weergeven geselecteerd in een nieuw venster.

    In het venster Uitvoer ziet u dat u bent verbonden met de service voor logboekstreaming en wordt elke minuut een meldingsregel toegevoegd die zonder logboek wordt weergegeven.

    Schermopname van het venster Uitvoer met een voorbeeld van een verbinding met een service voor logboekstreaming met meldingsregels.

  4. Klik in het browservenster met de startpagina van uw toepassing op Contact opnemen.

    Binnen een paar seconden wordt de uitvoer van de traceer op foutniveau die u aan de methode hebt toegevoegd, Contact weergegeven in het venster Uitvoer.

    Fout trace in uitvoervenster

    Visual Studio worden alleen traceringen op foutniveau weergegeven, omdat dit de standaardinstelling is wanneer u de logboekbewakingsservice inschakelen. Wanneer u een nieuwe App Service app maakt, wordt alle logboekregistratie standaard uitgeschakeld, zoals u hebt gezien toen u de instellingenpagina eerder hebt geopend:

    Application Logging uitschakelen

    Wanneer u echter Streaminglogboeken weergeven hebt geselecteerd, Visual Studio Application Logging (Bestandssysteem) automatisch gewijzigd in Fout, wat betekent dat logboeken op foutniveau worden gerapporteerd. Als u al uw traceringslogboeken wilt zien, kunt u deze instelling wijzigen in Uitgebreid. Wanneer u een ernstniveau lager dan fout selecteert, worden ook alle logboeken met een hogere ernst gerapporteerd. Wanneer u dus uitgebreid selecteert, ziet u ook informatie-, waarschuwings- en foutlogboeken.

  5. Klik Server Explorer met de rechtermuisknop op de app en klik vervolgens op Weergave Instellingen zoals u eerder hebt gedaan.

  6. Wijzig Application Logging (Bestandssysteem) in Uitgebreid en klik vervolgens op Opslaan.

    Traceerniveau instellen op Uitgebreid

  7. Klik in het browservenster waarop nu de pagina Contactpersoon wordt weergegeven op Start, klik vervolgens op Over en klik vervolgens op Contact opnemen.

    Binnen een paar seconden wordt in het venster Uitvoer al uw traceringsuitvoer weergegeven.

    Uitgebreide traceeruitvoer

    In deze sectie hebt u logboekregistratie ingeschakeld en uitgeschakeld met behulp van app-instellingen. U kunt traceerlisteners ook in- en uitschakelen door het Web.config wijzigen. Het wijzigen van het Web.config zorgt er echter voor dat het app-domein wordt gerecycled, terwijl het inschakelen van logboekregistratie via de app-configuratie dat niet doet. Als het probleem lang duurt om het probleem te reproduceren of af en toe plaatsvindt, kan het app-domein worden 'opgelost' en moet u wachten tot het opnieuw gebeurt. Als u diagnostische gegevens in Azure inschakelen, kunt u direct beginnen met het vastleggen van foutgegevens zonder dat het app-domein opnieuw wordt gebruikt.

Functies van het uitvoervenster

Het Microsoft Azure logboeken van het uitvoervenster bevat verschillende knoppen en een tekstvak:

Schermopname van de knoppen en het tekstvak van Microsoft Azure tabblad Logboeken in het venster Uitvoer.

Deze voeren de volgende functies uit:

  • Leeg het venster Uitvoer.
  • Tekstte terugloop in- of uitschakelen.
  • Bewakingslogboeken starten of stoppen.
  • Geef op welke logboeken moeten worden bewaakt.
  • Logboeken downloaden.
  • Filter logboeken op basis van een zoekreeks of een reguliere expressie.
  • Sluit het venster Uitvoer.

Als u een zoekreeks of reguliere expressie op typt, Visual Studio logboekregistratiegegevens op de client gefilterd. Dit betekent dat u de criteria kunt invoeren nadat de logboeken worden weergegeven in het venster Uitvoer en dat u filtercriteria kunt wijzigen zonder dat u de logboeken opnieuw moet maken.

Webserverlogboeken weergeven

Webserverlogboeken registreren alle HTTP-activiteiten voor de app. Als u ze wilt zien in het venster Uitvoer, moet u ze inschakelen voor de app en Visual Studio u ze wilt bewaken.

  1. Wijzig op het tabblad Azure Web App Configuration dat u hebt geopend Server Explorer webserverlogregistratie in Aan en klik vervolgens op Opslaan.

    Logboekregistratie van webservers inschakelen

  2. Klik in het uitvoervenster op de knop Opgeven Microsoft Azure logboeken wilt bewaken.

    Opgeven welke Azure-logboeken moeten worden bewaakt

  3. Selecteer in Microsoft Azure logboekregistratieopties de optie Webserverlogboeken en klik vervolgens op OK.

    Webserverlogboeken bewaken

  4. Klik in het browservenster waarin de app wordt weergegeven op Start, klik vervolgens op Over en klik vervolgens op Contact opnemen.

    De toepassingslogboeken worden doorgaans eerst weergegeven, gevolgd door de webserverlogboeken. Mogelijk moet u even wachten totdat de logboeken worden weergegeven.

    Webserverlogboeken in het uitvoervenster

Wanneer u webserverlogboeken voor het eerst inschakelen met behulp van Visual Studio, schrijft Azure de logboeken standaard naar het bestandssysteem. Als alternatief kunt u de Azure Portal om op te geven dat webserverlogboeken moeten worden geschreven naar een blobcontainer in een opslagaccount.

Als u de portal gebruikt om logboekregistratie van webservers naar een Azure-opslagaccount in te schakelen en vervolgens logboekregistratie in Visual Studio uit te schakelen, worden uw opslagaccountinstellingen hersteld wanneer u de logboekregistratie opnieuw in Visual Studio.

Gedetailleerde logboeken met foutmeldingen weergeven

Gedetailleerde foutenlogboeken bevatten aanvullende informatie over HTTP-aanvragen die resulteren in foutreactiecodes (400 of hoger). Als u ze wilt zien in het venster Uitvoer, moet u ze inschakelen voor de app en Visual Studio dat u ze wilt bewaken.

  1. Wijzig op het tabblad Azure Web App Configuration dat u hebt geopend vanuit Server Explorer gedetailleerde foutberichten in Aan en klik vervolgens op Opslaan.

    Gedetailleerde foutberichten inschakelen

  2. Klik in het uitvoervenster op de knop Opgeven Microsoft Azure logboeken wilt bewaken.

  3. Klik in Microsoft Azure dialoogvenster Logboekregistratieopties op Alle logboeken en klik vervolgens op OK.

    Alle logboeken bewaken

  4. Voeg in de adresbalk van het browservenster een extra teken toe aan de URL om een 404-fout te veroorzaken (bijvoorbeeld http://localhost:53370/Home/Contactx ) en druk op Enter.

    Na enkele seconden wordt het gedetailleerde foutenlogboek weergegeven in Visual Studio uitvoervenster.

    Gedetailleerd foutenlogboek - Uitvoervenster

    Beheer en klik op de koppeling om de logboekuitvoer in een browser weer te geven:

    Gedetailleerd foutenlogboek - browservenster

Bestandssysteemlogboeken downloaden

Alle logboeken die u in het venster Uitvoer kunt controleren, kunnen ook worden gedownload als .zip bestand.

  1. Klik in het venster Uitvoer op Streaminglogboeken downloaden.

    Schermopname van het venster Uitvoer waarin de knop Streaminglogboeken downloaden is gemarkeerd.

    Bestandenverkenner wordt geopend in de map Downloads met het gedownloade bestand geselecteerd.

    Schermopname van de map Downloads in Verkenner met een gedownload bestand geselecteerd.

  2. Extraheren .zip bestand en u ziet de volgende mapstructuur:

    Schermopname van .zip bestandsmapstructuur nadat het bestand is uitgepakt.

    • Logboeken voor toepassingstrac.txt in de map LogFiles\Application.

    • Webserverlogboeken bevinden zich in .log-bestanden in de map LogFiles\http\RawLogs. U kunt een hulpprogramma zoals Log Parser gebruiken om deze bestanden te bekijken en te bewerken.

    • Gedetailleerde foutberichtlogboeken bevinden zich in .html bestanden in de map LogFiles\DetailedErrors.

      (De map deployments is voor bestanden die zijn gemaakt door publicatie van broncodebeheer. De map heeft niets te maken met Visual Studio publiceren. De Git-map is voor traceringen die betrekking hebben op het publiceren van broncodebeheer en de streamingservice voor logboekbestanden.)

Logboeken voor het traceren van mislukte aanvragen weergeven

Logboeken voor het traceren van mislukte aanvragen zijn handig als u inzicht wilt krijgen in de manier waarop IIS een HTTP-aanvraag afhandelt, in scenario's zoals het herschrijven van URL's of verificatieproblemen.

App Service-apps gebruiken dezelfde functionaliteit voor het traceren van mislukte aanvragen die beschikbaar was met IIS 7.0 en hoger. U hebt echter geen toegang tot de IIS-instellingen waarmee wordt geconfigureerd welke fouten worden geregistreerd. Wanneer u tracering van mislukte aanvragen inschakelen, worden alle fouten vastgelegd.

U kunt tracering van mislukte aanvragen inschakelen met behulp Visual Studio, maar u kunt ze niet weergeven in Visual Studio. Deze logboeken zijn XML-bestanden. De streaminglogboekservice bewaakt alleen bestanden die in de modus tekst zonder tekst kunnen worden gelezen:.txt, .html en .log-bestanden.

U kunt logboeken voor het traceren van mislukte aanvragen rechtstreeks via FTP of lokaal weergeven in een browser nadat u een FTP-hulpprogramma hebt gebruikt om ze naar uw lokale computer te downloaden. In deze sectie bekijkt u deze rechtstreeks in een browser.

  1. Wijzig op het tabblad Configuratie van het azure-web-app-venster dat u hebt geopend Server Explorer, de tracering van mislukte aanvragen in Aan en klik vervolgens op Opslaan.

    Tracering van mislukte aanvragen inschakelen

  2. Voeg in de adresbalk van het browservenster met de app een extra teken toe aan de URL en klik op Enter om een 404-fout te veroorzaken.

    Dit zorgt ervoor dat een logboek voor tracering van mislukte aanvragen wordt gemaakt en de volgende stappen laten zien hoe u het logboek kunt weergeven of downloaden.

  3. Klik Visual Studio in het tabblad Configuratie van het venster Azure-web-app op Openen in Beheerportal.

  4. Klik op Azure Portal Instellingen app op Implementatiereferenties en voer een nieuwe gebruikersnaam en een nieuw wachtwoord in.

    Nieuwe FTP-gebruikersnaam en -wachtwoord

    Notitie

    Wanneer u zich aanmeldt, moet u de volledige gebruikersnaam gebruiken met de app-naam als voorvoegsel. Als u bijvoorbeeld 'myid' als gebruikersnaam op geeft en de site 'myexample' is, moet u zich aanmelden als 'myexample\myid'.

  5. Ga in een nieuw browservenster naar de URL die wordt weergegeven onder FTP-hostnaam of FTPS-hostnaam op de pagina Overzicht voor uw app.

  6. Meld u aan met de FTP-referenties die u eerder hebt gemaakt (inclusief het voorvoegsel van de app-naam voor de gebruikersnaam).

    In de browser wordt de hoofdmap van de app weergegeven.

  7. Open de map LogFiles.

    Map LogFiles openen

  8. Open de map met de naam W3SVC plus een numerieke waarde.

    Open de map W3SVC

    De map bevat XML-bestanden voor fouten die zijn vastgelegd nadat u tracering van mislukte aanvragen hebt ingeschakeld, en een XSL-bestand dat een browser kan gebruiken om de XML op te maken.

    W3SVC-map

  9. Klik op het XML-bestand voor de mislukte aanvraag voor wie u traceringsgegevens wilt bekijken.

    In de volgende afbeelding ziet u een deel van de traceringsinformatie voor een voorbeeldfout.

    Tracering van mislukte aanvragen in browser

Volgende stappen

U hebt gezien hoe u Visual Studio logboeken die door een app zijn gemaakt, eenvoudig App Service weergeven. De volgende secties bieden koppelingen naar meer resources over verwante onderwerpen:

  • App Service oplossen
  • Debuggging in Visual Studio
  • Externe debugging in Azure
  • Tracering in ASP.NET toepassingen
  • Webserverlogboeken analyseren
  • Logboeken voor het traceren van mislukte aanvragen analyseren
  • Debugging Cloud Services

App Service oplossen

Zie de volgende bronnen voor meer informatie over het oplossen van problemen met apps in Azure App Service:

Voor hulp bij een specifieke probleemoplossingsvraag start u een thread in een van de volgende forums:

Debuggging in Visual Studio

Zie Foutopsporing in Visual Studio en Foutopsporing Tips met Visual Studio 2010voor meer informatie over het gebruik van de foutopsporingsmodus in Visual Studio.

Externe debugging in Azure

Zie de volgende bronnen voor meer informatie over externe App Service voor apps en webjobs:

Als uw app gebruikmaakt van een Azure-web-API of Mobile Services-back-end en u fouten moet opsporen, gaat u naar Foutopsporing voor .NET-back-end in Visual Studio.

Tracering in ASP.NET toepassingen

Er zijn geen grondige en up-to-date inleidingen tot ASP.NET tracering beschikbaar op internet. Het beste is om aan de slag te gaan met oude inleidende materialen die zijn geschreven voor Web Forms omdat MVC nog niet bestaat, en dat aan te vullen met nieuwere blogberichten die gericht zijn op specifieke problemen. Enkele goede plaatsen om te beginnen zijn de volgende resources:

Voor logboekregistratie van fouten kunt u ook uw eigen traceringscode schrijven door gebruik te maken van een opensource-framework voor logboekregistratie, zoals ELMAH. Zie blogposts van Scott Hanselman over ELMAH voor meer informatie.

U hoeft ook geen streaminglogboeken van Azure ASP.NET of System.Diagnostics tracering te gebruiken. De App Service service voor streaminglogboek van de app streamt alle.txt , .html of .log-bestanden die worden gevonden in de map LogFiles. Daarom kunt u uw eigen systeem voor logboekregistratie maken dat naar het bestandssysteem van de app schrijft, en uw bestand wordt automatisch gestreamd en gedownload. U hoeft alleen maar toepassingscode te schrijven die bestanden maakt in de map d:\home\logfiles.

Webserverlogboeken analyseren

Zie de volgende bronnen voor meer informatie over het analyseren van webserverlogboeken:

Logboeken voor het traceren van mislukte aanvragen analyseren

De Microsoft TechNet-website bevat een sectie Using Failed Request Tracing (Tracering van mislukte aanvragen gebruiken). Dit kan handig zijn voor inzicht in het gebruik van deze logboeken. Deze documentatie is echter voornamelijk gericht op het configureren van tracering van mislukte aanvragen in IIS, wat niet mogelijk is in Azure App Service.