Problemen met een app in Azure-app Service oplossen met Behulp van Visual Studio

Overzicht

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

U leert het volgende:

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

Als u Visual Studio Ultimate hebt, kunt u Ook IntelliTrace gebruiken voor foutopsporing. 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 maakt in Aan de slag met de Azure WebJobs SDK.

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

In de zelfstudie wordt ervan uitgegaan dat u Visual Studio 2019 gebruikt.

De functie voor streaminglogboeken werkt alleen voor toepassingen die zich richten op .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 Azure-integratiefuncties wilt zien, kunt u Cloud Explorer ook uitproberen. U kunt beide vensters openen vanuit het menu Beeld .

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

    Een alternatief is het installeren van een beheercertificaat 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 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 voor het downloaden en importeer vervolgens een abonnementsbestand (ook wel een .publishsettings-bestand genoemd) voor uw Azure-account.

    Notitie

    Als u een abonnementsbestand downloadt, slaat u het op in een map buiten de broncodemappen (bijvoorbeeld in de map Downloads) en verwijdert u het bestand zodra 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 Azure Portal voor meer informatie over het maken van verbinding met Azure-resources vanuit Visual Studio.

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

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

    View Settings in Server Explorer

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

    Azure Web App window

    In deze zelfstudie gebruikt u de vervolgkeuzelijsten voor logboekregistratie en tracering. U gebruikt ook externe foutopsporing, maar u gebruikt een andere methode om deze in te schakelen.

    Zie voor meer informatie over de vakken App Instellingen en Verbinding maken ion Strings in dit venster Azure-app Service: Hoe toepassingsreeksen en Verbinding maken iontekenreeksen werken.

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

App-bestanden openen in Server Explorer

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

Serverfout in toepassing '/':

Screenshot showing a Server Error in '/' Application error in a web browser.

Er is een fout opgetreden:

Screenshot showing an example of a generic error occurring in a web browser.

De pagina kan niet worden weergegeven op de website

Screenshot showing a message that reads **The website cannot display the page error in a web browser**.

Vaak is de eenvoudigste manier om de oorzaak van de fout te achterhalen, het inschakelen van gedetailleerde foutberichten. In de eerste van de voorgaande schermafbeeldingen wordt uitgelegd hoe u dit doet. Hiervoor is een wijziging in het geïmplementeerde Web.config-bestand vereist. U kunt het Web.config-bestand in het project bewerken en het project opnieuw implementeren, of eenWeb.configtransformatie maken en een foutopsporingsbuild implementeren, maar in Solution Explorer kunt u bestanden in de externe app rechtstreeks bekijken en bewerken met behulp van de functie voor 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-bestand vanuit de externe app en toont [Extern] naast de bestandsnaam in de titelbalk.

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

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

    Edit Web.config

  4. Vernieuw de browser die het niet-hulpzame foutbericht weergeeft en u krijgt nu een gedetailleerd foutbericht, zoals het volgende voorbeeld:

    Detailed error message

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

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

Externe foutopsporings-apps

Als het gedetailleerde foutbericht onvoldoende informatie bevat en u de fout niet lokaal opnieuw kunt maken, kunt u het probleem ook op afstand in de foutopsporingsmodus oplossen. U kunt onderbrekingspunten instellen, geheugen rechtstreeks bewerken, code doorlopen en zelfs het codepad wijzigen.

Externe foutopsporing werkt niet in Express-edities van Visual Studio.

In deze sectie wordt beschreven hoe u fouten op afstand kunt opsporen 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.

    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 in 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 ASP.NET-app maken in Azure-app Service. Klik vervolgens op Instellingen.

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

    Publish in debug mode

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

  9. Klik in Server Explorer met de rechtermuisknop op uw app en klik vervolgens op Foutopsporingsprogramma bijvoegen.

    Screenshot of the Server Explorer window showing an app selected and then clicking Attach Debugger.

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

    Notitie

    Als u problemen ondervindt bij het starten van het foutopsporingsprogramma, probeert u dit te doen met Behulp van Cloud Explorer in plaats van Server Explorer.

  10. Klik op Info in het menu.

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

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

    View variable in debug mode running 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 de currentTime variabele, zoals Nu uitgevoerd in Azure.

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

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

    About page with new value

Webjobs voor foutopsporing op afstand

In deze sectie wordt beschreven hoe u fouten op afstand kunt opsporen met behulp van het project en de app die u maakt 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 foutopsporing werkt alleen met continue webtaken. Geplande en on-demand webtaken bieden geen ondersteuning voor foutopsporing.

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

  2. Open Functions.cs in het project ContosoAdsWebJob.

  3. Stel een onderbrekingspunt in op de eerste instructie in de GenerateThumbnail methode.

    Set breakpoint

  4. Klik in Solution Explorer met de rechtermuisknop op het webproject (niet op het webtaakproject) en klik op Publiceren.

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

  6. Klik op het tabblad Instellingen en wijzig Configuratie in Foutopsporing en klik vervolgens op Publiceren.

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

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

  8. Klik op Foutopsporingsprogramma bijvoegen.

    Screenshot of Server Explorer showing ContosoAdsWebJob selected in the drop-down menu and Attach Debugger selected.

    De browser wordt automatisch geopend op uw startpagina die wordt uitgevoerd in Azure. Mogelijk moet u 20 seconden wachten, of zolang Azure de server instelt voor foutopsporing. Deze vertraging vindt alleen plaats wanneer u in de foutopsporingsmodus voor een app in een periode van 48 uur voor het eerst uitvoert. Wanneer u de foutopsporing in dezelfde periode opnieuw 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 een wachtrijbericht gemaakt, dat wordt opgehaald door de webtaak en verwerkt. Wanneer de WebJobs SDK de functie aanroept om het wachtrijbericht te verwerken, raakt de code uw onderbrekingspunt.

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

    blobInfo object in debugger

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

    De GenerateThumbnail methode voltooit het maken van de miniatuur.

  12. Vernieuw de pagina Index in de browser en u ziet de miniatuur.

  13. Druk in Visual Studio op Shift+F5 om de foutopsporing te stoppen.

  14. Klik in 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 webtaak om naar de pagina voor uw webtaak te gaan.

    Click ContosoAdsWebJob

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

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

  16. Klik op de naam van de functie om details te bekijken over de uitvoering van de functie.

    Function details

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

Opmerkingen over foutopsporing op afstand

  • Uitvoeren in de foutopsporingsmodus in productie wordt niet aanbevolen. Als uw productie-app niet wordt uitgeschaald naar meerdere serverexemplaren, voorkomt foutopsporing dat de webserver reageert op andere aanvragen. Als u meerdere webserverexemplaren hebt, krijgt u bij het koppelen aan het foutopsporingsprogramma een willekeurig exemplaar en kunt u er niet voor zorgen dat volgende browseraanvragen naar hetzelfde exemplaar gaan. U implementeert doorgaans geen foutopsporingsbuild naar productie en compileroptimalisaties voor release-builds maken het mogelijk onmogelijk om te laten zien wat er gebeurt volgens regel in uw broncode. Voor het oplossen van productieproblemen is de beste resource het traceren van toepassingen en webserverlogboeken.

  • Vermijd lange stops bij onderbrekingspunten bij externe foutopsporing. Azure behandelt een proces dat langer dan een paar minuten is gestopt als een niet-reagerend proces en wordt afgesloten.

  • Terwijl u foutopsporing uitvoert, verzendt de server gegevens naar Visual Studio, wat van invloed kan zijn op de bandbreedtekosten. Zie Azure-prijzen voor meer informatie over bandbreedtetarieven.

  • Zorg ervoor dat het debug kenmerk van het compilation element in het Web.config-bestand 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 merkt dat het foutopsporingsprogramma niet in de code stapt die u wilt opsporen, moet u mogelijk de instelling Just My Code wijzigen. Zie Opgeven of alleen gebruikerscode moet worden opgespoord met Just My Code in Visual Studio voor meer informatie.

  • Een timer wordt gestart op de server wanneer u de functie voor externe foutopsporing inschakelt. Na 48 uur wordt de functie automatisch uitgeschakeld. Deze limiet van 48 uur wordt uitgevoerd om beveiligings- en prestatieredenen. U kunt de functie eenvoudig zo vaak weer inschakelen als u wilt. U wordt aangeraden deze uitgeschakeld te laten wanneer u niet actief fouten opspoort.

  • U kunt het foutopsporingsprogramma handmatig koppelen aan elk proces, niet alleen 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-toepassing die wordt uitgevoerd in een App Service-app, kan de volgende soorten logboeken maken:

  • Logboeken voor toepassingstracering
    De toepassing maakt deze logboeken door methoden van de klasse System.Diagnostics.Trace aan te roepen.
  • Webserverlogboeken
    De webserver maakt een logboekvermelding voor elke HTTP-aanvraag voor de app.
  • Gedetailleerde logboeken met foutberichten
    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 traceringsgegevens 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, dus Azure biedt u de mogelijkheid om elk type logboek indien nodig in of uit te schakelen. 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-account worden geschreven. U kunt een groter aantal logboeken in een opslagaccount bewaren dan mogelijk is in het bestandssysteem. U bent beperkt tot maximaal 100 megabytes aan logboeken wanneer u het bestandssysteem gebruikt. (Bestandssysteemlogboeken zijn alleen bedoeld voor langetermijnretentie. Azure verwijdert oude logboekbestanden om ruimte te maken voor nieuwe logboekbestanden nadat de limiet is bereikt.)

Toepassingstraceringslogboeken maken en weergeven

In deze sectie voert u de volgende taken uit:

  • Voeg traceringsinstructies 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 uitvoert.
  • Bekijk de logboeken terwijl ze worden gegenereerd door de toepassing die wordt uitgevoerd in Azure.

Zie How to work with Azure Queue Storage using the WebJobs SDK ( Logboeken schrijven) voor informatie over het maken van toepassingslogboeken in WebJobs In WebJobs. De volgende instructies voor het weergeven van logboeken en het beheren van hoe ze worden opgeslagen in Azure, zijn ook van toepassingslogboeken die door WebJobs zijn gemaakt.

Traceringsinstructies toevoegen aan de toepassing

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

    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 een using System.Diagnostics; instructie toe aan het begin van het bestand.

De traceringsuitvoer lokaal weergeven

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

    De standaardtraceringslistener schrijft alle traceringsuitvoer naar het uitvoervenster , samen met andere uitvoer voor foutopsporing. In de volgende afbeelding ziet u de uitvoer van de traceringsinstructies die u aan de Index methode hebt toegevoegd.

    Tracing in Debug window

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

  2. Open het web.config-bestand van de toepassing (het bestand dat zich in de projectmap bevindt) en voeg een <system.diagnostics> element toe aan het einde van het bestand vlak voor 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>
    

Hiermee WebPageTraceListener kunt u traceringsuitvoer bekijken door te bladeren naar /trace.axd.

  1. Voeg een traceringselement toe onder <system.web> in het 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 trace.axd toe aan de URL in de adresbalk van het browservenster en druk op Enter (de URL is vergelijkbaar methttp://localhost:53370/trace.axd).

  4. Klik op de pagina Toepassingstracering op Details weergeven op de eerste regel (niet de BrowserLink-regel).

    Screenshot of the Application Trace page in a web browser showing View Details selected on the first line.

    De pagina Aanvraagdetails wordt weergegeven en in de sectie Traceringsgegevens ziet u de uitvoer van de traceringsinstructies die u aan de Index methode hebt toegevoegd.

    Screenshot of the Request Details page in a web browser showing a message highlighted in the Trace Information section.

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

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

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

De traceringsuitvoer weergeven in Azure

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

  2. Klik in het dialoogvenster Web publiceren op Publiceren.

    Nadat Visual Studio uw update heeft gepubliceerd, wordt er een browservenster geopend op uw startpagina (ervan uitgaande dat u de doel-URL niet wist op het tabblad Verbinding maken ion).

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

    Screenshot of Server Explorer after right-clicking your app, with View Streaming Logs selected in a new window.

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

    Screenshot of the Output window showing an example of a connection to a log-streaming service with notification lines.

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

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

    Error trace in Output window

    Visual Studio geeft alleen traceringen op foutniveau weer, omdat dit de standaardinstelling is wanneer u de logboekbewakingsservice inschakelt. 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 off

    Wanneer u echter Streaminglogboeken weergeven hebt geselecteerd, heeft Visual Studio automatisch toepassingslogboeken (bestandssysteem) 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 voor hogere ernstniveaus gerapporteerd. Dus wanneer u uitgebreid selecteert, ziet u ook logboeken met informatie, waarschuwingen en fouten.

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

  6. Wijzig toepassingslogboeken (bestandssysteem) in Uitgebreid en klik vervolgens op Opslaan.

    Setting trace level to Verbose

  7. Klik in het browservenster met de pagina Contactpersonen op Start, klik vervolgens op Info en klik vervolgens op Contactpersoon.

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

    Verbose trace output

    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-bestand te wijzigen. Het wijzigen van het Web.config-bestand 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 of af en toe wordt gereproduceerd, kan het recyclage van het app-domein het probleem 'oplossen' en moet u wachten totdat het opnieuw gebeurt. Als u diagnostische gegevens inschakelt in Azure, kunt u foutgegevens direct vastleggen zonder het app-domein te recyclen.

Uitvoervensterfuncties

Het tabblad Microsoft Azure-logboeken van het uitvoervenster heeft verschillende knoppen en een tekstvak:

Screenshot showing the buttons and text box of the Microsoft Azure Logs tab in the Output window.

Deze voeren de volgende functies uit:

  • Wis het uitvoervenster .
  • Tekstterugloop 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 zoektekenreeks of reguliere expressie invoert, filtert Visual Studio logboekgegevens op de client. Dit betekent dat u de criteria kunt invoeren nadat de logboeken worden weergegeven in het venster Uitvoer en u kunt filtercriteria wijzigen zonder dat u de logboeken opnieuw hoeft te genereren.

Webserverlogboeken weergeven

Webserverlogboeken registreren alle HTTP-activiteit voor de app. Als u ze wilt zien in het uitvoervenster, moet u deze inschakelen voor de app en Visual Studio laten weten dat u ze wilt bewaken.

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

    Enable web server logging

  2. Klik in het uitvoervenster op de knop Opgeven welke Microsoft Azure-logboeken moeten worden bewaakt .

    Specify which Azure logs to monitor

  3. Selecteer webserverlogboeken in het dialoogvenster Opties voor Logboekregistratie van Microsoft Azure en klik vervolgens op OK.

    Monitor web server logs

  4. Klik in het browservenster met de app op Start, klik vervolgens op Info en klik vervolgens op Contactpersoon.

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

    Web server logs in Output window

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

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

Gedetailleerde logboeken met foutberichten weergeven

Gedetailleerde foutenlogboeken bevatten aanvullende informatie over HTTP-aanvragen die resulteren in foutcodes (400 of hoger). Als u ze wilt zien in het uitvoervenster, moet u ze inschakelen voor de app en visual Studio laten weten dat u ze wilt bewaken.

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

    Enable detailed error messages

  2. Klik in het uitvoervenster op de knop Opgeven welke Microsoft Azure-logboeken moeten worden bewaakt .

  3. Klik in het dialoogvenster Opties voor logboekregistratie van Microsoft Azure op Alle logboeken en klik vervolgens op OK.

    Monitor all logs

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

    Na enkele seconden wordt het gedetailleerde foutenlogboek weergegeven in het venster Visual Studio-uitvoer.

    Detailed error log - Output window

    Control+klik op de koppeling om de logboekuitvoer te zien die is opgemaakt in een browser:

    Detailed error log - browser window

Bestandssysteemlogboeken downloaden

Logboeken die u in het uitvoervenster kunt bewaken, kunnen ook worden gedownload als een ZIP-bestand .

  1. Klik in het venster Uitvoer op Streaminglogboeken downloaden.

    Screenshot of the Output window showing the Download Streaming Logs button highlighted.

    Bestandenverkenner wordt geopend voor uw Downloadmap met het gedownloade bestand geselecteerd.

    Screenshot of the Downloads folder in File Explorer with a downloaded file selected.

  2. Pak het ZIP-bestand uit en u ziet de volgende mapstructuur:

    Screenshot of the .zip file folder structure after the file has been extracted.

    • Logboeken voor toepassingstracering bevinden zich in .txt-bestanden in de map LogFiles\Application .

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

    • Gedetailleerde logboeken voor foutberichten bevinden zich in HTML-bestanden in de map LogFiles\DetailedErrors .

      (De map implementaties is bedoeld voor bestanden die zijn gemaakt door het publiceren van broncodebeheer. De map heeft geen betrekking op Visual Studio-publicatie. De Git-map is bedoeld voor traceringen met betrekking tot het publiceren van broncodebeheer en de streamingservice voor logboekbestanden.)

Logboeken voor tracering van mislukte aanvragen weergeven

Traceringslogboeken voor mislukte aanvragen zijn handig wanneer u meer wilt weten over de manier waarop IIS een HTTP-aanvraag verwerkt, in scenario's zoals het herschrijven van URL's of verificatieproblemen.

App Service-apps gebruiken dezelfde functionaliteit voor tracering van mislukte aanvragen die beschikbaar is 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 inschakelt, worden alle fouten vastgelegd.

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

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

  1. Wijzig op het tabblad Configuratie van het Azure Web App-venster dat u vanuit Server Explorer hebt geopend, de tracering van mislukte aanvragen in Aan en klik vervolgens op Opslaan.

    Enable failed request tracing

  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 het traceren van mislukte aanvragen wordt gemaakt en de volgende stappen laten zien hoe u het logboek kunt weergeven of downloaden.

  3. Klik in Visual Studio op het tabblad Configuratie van het venster Azure Web App op Openen in de beheerportal.

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

    New FTP user name and password

    Notitie

    Wanneer u zich aanmeldt, moet u de volledige gebruikersnaam gebruiken met het voorvoegsel van de app-naam. Als u bijvoorbeeld 'myid' invoert als gebruikersnaam en de site 'myexample' is, meldt u zich aan 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 .

    Open LogFiles folder

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

    Open W3SVC folder

    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 folder

  9. Klik op het XML-bestand voor de mislukte aanvraag waarvoor u traceringsgegevens wilt zien.

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

    Failed request tracing in browser

Volgende stappen

U hebt gezien hoe Visual Studio het eenvoudig maakt om logboeken weer te geven die zijn gemaakt door een App Service-app. De volgende secties bevatten koppelingen naar meer informatie over verwante onderwerpen:

  • Problemen met App Service oplossen
  • Foutopsporing in Visual Studio
  • Externe foutopsporing in Azure
  • Tracering in ASP.NET toepassingen
  • Webserverlogboeken analyseren
  • Logboeken voor het traceren van mislukte aanvragen analyseren
  • Foutopsporing in Cloud Services

Problemen met 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 vraag over probleemoplossing start u een thread in een van de volgende forums:

Foutopsporing in Visual Studio

Zie Debugging in Visual Studio en tips voor foutopsporing met Visual Studio 2010 voor meer informatie over het gebruik van de foutopsporingsmodus in Visual Studio.

Externe foutopsporing in Azure

Zie de volgende bronnen voor meer informatie over externe foutopsporing voor App Service-apps en WebJobs:

Als uw app gebruikmaakt van een Back-end van Azure Web API of Mobile Services en u fouten moet opsporen, raadpleegt u Debugging van .NET Backend in Visual Studio.

Tracering in ASP.NET toepassingen

Er zijn geen grondige en up-to-date inleiding tot ASP.NET tracering beschikbaar op internet. Het beste dat u kunt doen, is aan de slag te gaan met oude inleidende materialen die zijn geschreven voor Web Forms, omdat MVC nog niet bestond en dat aanvullen met nieuwere blogberichten die zich richten op specifieke problemen. Enkele goede plaatsen om te beginnen zijn de volgende bronnen:

Voor foutregistratie is een alternatief voor het schrijven van uw eigen traceringscode het gebruik van een opensource-framework voor logboekregistratie, zoals ELMAH. Zie de blogberichten van Scott Hanselman over ELMAH voor meer informatie.

U hoeft ook geen ASP.NET of System.Diagnostics tracering te gebruiken om streaminglogboeken van Azure op te halen. De streaminglogboekservice van de App Service-app streamt elk .txt-, .HTML- of .log-bestand dat wordt gevonden in de map LogFiles . Daarom kunt u uw eigen logboekregistratiesysteem maken dat naar het bestandssysteem van de app schrijft en uw bestand automatisch wordt gestreamd en gedownload. U hoeft alleen maar toepassingscode te schrijven waarmee bestanden worden gemaakt 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 Website van Microsoft TechNet bevat een sectie Over het gebruik van mislukte aanvragen , wat handig kan zijn om te begrijpen hoe u deze logboeken gebruikt. Deze documentatie is echter voornamelijk gericht op het configureren van tracering van mislukte aanvragen in IIS, wat u niet kunt doen in Azure-app Service.