Risolvere i problemi di un'app nel Servizio app di Azure tramite Visual StudioTroubleshoot an app in Azure App Service using Visual Studio

PanoramicaOverview

Questa esercitazione illustra come usare gli strumenti di Visual Studio che consentono di eseguire il debug di un'app nel Servizio app tramite la modalità debug in remoto oppure visualizzando i log dell'applicazione e i log del server Web.This tutorial shows how to use Visual Studio tools to help debug an app in App Service, by running in debug mode remotely or by viewing application logs and web server logs.

Si apprenderà come:You'll learn:

  • Usare le funzioni di gestione app disponibili in Visual Studio.Which app management functions are available in Visual Studio.
  • Usare la vista remota di Visual Studio per apportare modifiche rapide a un'app remota.How to use Visual Studio remote view to make quick changes in a remote app.
  • Eseguire la modalità debug in remoto mentre il progetto è in esecuzione in Azure, sia per un'app che per un processo Web.How to run debug mode remotely while a project is running in Azure, both for an app and for a WebJob.
  • Creare log di traccia dell'applicazione e visualizzarli mentre vengono creati dall'applicazione.How to create application trace logs and view them while the application is creating them.
  • Visualizzare i log del server Web, con i messaggi di errore dettagliati e la traccia delle richieste non riuscite.How to view web server logs, including detailed error messages and failed request tracing.
  • Inviare i log di diagnostica a un account di archiviazione di Azure e visualizzarli nell'account.How to send diagnostic logs to an Azure Storage account and view them there.

Se si dispone di Visual Studio Ultimate, è possibile usare anche IntelliTrace per il debug.If you have Visual Studio Ultimate, you can also use IntelliTrace for debugging. IntelliTrace non è illustrato in questa esercitazione.IntelliTrace is not covered in this tutorial.

PrerequisitiPrerequisites

Per questa esercitazione si presuppone che siano stati configurati l'ambiente di sviluppo, il progetto Web e l'app del Servizio app come descritto in Create an ASP.NET app in Azure App Service (Creare un'app ASP.NET nel Servizio app di Azure).This tutorial works with the development environment, web project, and App Service app that you set up in Create an ASP.NET app in Azure App Service. Per le sezioni relative ai processi Web, sarà necessaria l'applicazione creata in Introduzione ad Azure Webjobs SDK.For the WebJobs sections, you'll need the application that you create in Get Started with the Azure WebJobs SDK.

Gli esempi di codice illustrati nell'esercitazione sono relativi ad applicazioni Web MVC scritte in C#, ma le procedure di risoluzione dei problemi sono identiche per le applicazioni di Visual Basic e Web Form.The code samples shown in this tutorial are for a C# MVC web application, but the troubleshooting procedures are the same for Visual Basic and Web Forms applications.

L'esercitazione presuppone che si stia usando Visual Studio 2019.The tutorial assumes you're using Visual Studio 2019.

La funzionalità dei log in streaming può essere utilizzata solo per le applicazioni destinate a .NET Framework 4 o versione successiva.The streaming logs feature only works for applications that target .NET Framework 4 or later.

Configurazione e gestione di appApp configuration and management

Visual Studio fornisce l'accesso a un subset di funzioni di gestione e impostazioni di configurazione di app disponibili nel portale di Azure.Visual Studio provides access to a subset of the app management functions and configuration settings available in the Azure portal. In questa sezione verranno esaminate le opzioni disponibili tramite Esplora server.In this section, you'll see what's available by using Server Explorer. Per visualizzare le funzionalità di integrazione di Azure più recenti, provare anche Cloud Explorer .To see the latest Azure integration features, try out Cloud Explorer also. È possibile aprire entrambe le finestre dal menu Visualizza .You can open both windows from the View menu.

  1. Se si è già effettuato l'accesso ad Azure in Visual Studio, fare clic on il pulsante destro del mouse su Azure e selezionare Connetti a Sottoscrizione di Microsoft Azure in Esplora Server.If you aren't already signed in to Azure in Visual Studio, right-click Azure and select Connect to Microsoft Azure Subscription in Server Explorer.

    In alternativa, installare un certificato di gestione che consenta l'accesso al proprio account.An alternative is to install a management certificate that enables access to your account. Se si sceglie di installare un certificato, fare clic con il pulsante destro del mouse sul nodo Azure in Esplora server e quindi scegliere Gestisci e filtra sottoscrizioni dal menu di scelta rapida.If you choose to install a certificate, right-click the Azure node in Server Explorer, and then select Manage and Filter Subscriptions in the context menu. Nella finestra di dialogo Gestisci sottoscrizioni Microsoft Azure fare clic sulla scheda Certificati, quindi fare clic su Importa.In the Manage Microsoft Azure Subscriptions dialog box, click the Certificates tab, and then click Import. Attenersi alle istruzioni per scaricare e importare un file di sottoscrizione, denominato anche file .publishsettings per l'account Azure.Follow the directions to download and then import a subscription file (also called a .publishsettings file) for your Azure account.

    Nota

    Se si sceglie di scaricare un file di sottoscrizione, salvarlo in una cartella all'esterno delle directory del codice sorgente, ad esempio nella cartella Download, quindi eliminarlo al termine dell'importazione.If you download a subscription file, save it to a folder outside your source code directories (for example, in the Downloads folder), and then delete it once the import has completed. Un utente malintenzionato che riesce ad accedere al file di sottoscrizione può modificare, creare ed eliminare i servizi di Azure.A malicious user who gains access to the subscription file can edit, create, and delete your Azure services.

    Per altre informazioni sul collegamento a risorse di Azure da Visual Studio, vedere Gestire account, sottoscrizioni e ruoli amministrativi.For more information about connecting to Azure resources from Visual Studio, see Manage Accounts, Subscriptions, and Administrative Roles.

  2. In Esplora server espandere Azure e quindi Servizio app.In Server Explorer, expand Azure and expand App Service.

  3. Espandere il gruppo di risorse che include l'app creata in Create an ASP.NET app in Azure App Service (Creare un'app ASP.NET nel Servizio app di Azure), quindi fare clic con il pulsante destro del mouse sul nodo dell'app e selezionare Visualizza impostazioni.Expand the resource group that includes the app that you created in Create an ASP.NET app in Azure App Service, and then right-click the app node and click View Settings.

    Visualizza impostazioni in Esplora server

    Verrà visualizzata la scheda App Web di Azure in cui è possibile vedere le attività di gestione e configurazione di app disponibili in Visual Studio.The Azure Web App tab appears, and you can see there the app management and configuration tasks that are available in Visual Studio.

    Finestra di Azure Web App

    In questa esercitazione verranno usati gli elenchi a discesa relativi a registrazione e traccia.In this tutorial, you'll use the logging and tracing drop-downs. Verrà inoltre utilizzato il debug remoto, che tuttavia verrà abilitato con un metodo diverso.You'll also use remote debugging but you'll use a different method to enable it.

    Per informazioni sui riquadri Impostazioni app e Stringhe di connessione in questa finestra, consultare Servizio app di Azure: How Application Strings and Connection Strings Work (App Web di Azure: come funzionano le stringhe di applicazione e le stringhe di connessione).For information about the App Settings and Connection Strings boxes in this window, see Azure App Service: How Application Strings and Connection Strings Work.

    Se si vuole eseguire un'attività di gestione di app che non può essere completata in questa finestra, fare clic su Apri nel portale di gestione per aprire una finestra del browser nel portale di Azure.If you want to perform an app management task that can't be done in this window, click Open in Management Portal to open a browser window to the Azure portal.

Accedere ai file dell'app in Esplora serverAccess app files in Server Explorer

In genere, un progetto Web viene distribuito con il flag customErrors impostato su On o RemoteOnly nel file Web.config, il che significa che quando si verifica un errore non vengono visualizzati messaggi utili.You typically deploy a web project with the customErrors flag in the Web.config file set to On or RemoteOnly, which means you don't get a helpful error message when something goes wrong. Per molti errori, infatti, verrà visualizzata una pagina simile a una di quelle illustrate di seguito:For many errors, all you get is a page like one of the following ones:

Errore del server nell'applicazione '/':Server Error in '/' Application:

Messaggio di errore poco utile

Si è verificato un errore:An error occurred:

Messaggio di errore poco utile

Impossibile visualizzare la paginaThe website cannot display the page

Messaggio di errore poco utile

Spesso, il modo più semplice per trovare la causa dell'errore consiste nell'abilitare i messaggi di errore dettagliati, come illustrato nella prima schermata precedente. In questo caso, è necessario apportare una modifica nel file Web.config distribuito.Frequently the easiest way to find the cause of the error is to enable detailed error messages, which the first of the preceding screenshots explains how to do. Che richiede una modifica nel file Web. config distribuito.That requires a change in the deployed Web.config file. È possibile modificare il file Web.config nel progetto e quindi ridistribuire il progetto oppure creare una trasformazione Web.config e distribuire una build di debug. Tuttavia è disponibile un metodo più rapido, ossia visualizzare e modificare direttamente i file in Esplora soluzioni nell'app remota usando la funzionalità di vista remota.You could edit the Web.config file in the project and redeploy the project, or create a Web.config transform and deploy a debug build, but there's a quicker way: in Solution Explorer, you can directly view and edit files in the remote app by using the remote view feature.

  1. In Esplora server espandere Azure e Servizio app, quindi espandere il gruppo di risorse in cui si trova l'app e infine espandere il nodo dell'app.In Server Explorer, expand Azure, expand App Service, expand the resource group that your app is located in, and then expand the node for your app.

    Verranno visualizzati i nodi che forniscono l'accesso ai file di contenuto e ai file di log dell'app.You see nodes that give you access to the app's content files and log files.

  2. Espandere il nodo File e fare doppio clic sul file Web.config .Expand the Files node, and double-click the Web.config file.

    Apertura di Web.config

    Il file Web.config verrà aperto in Visual Studio dall'app remota e accanto al nome del file, nella barra del titolo, verrà visualizzata l'indicazione [Remoto].Visual Studio opens the Web.config file from the remote app and shows [Remote] next to the file name in the title bar.

  3. Aggiungere la riga seguente all'elemento system.web :Add the following line to the system.web element:

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

    Modifica di Web.config

  4. Aggiornare il browser in cui viene visualizzato il messaggio di errore poco utile. A questo punto verrà visualizzato un messaggio di errore dettagliato, come illustrato nell'esempio seguente:Refresh the browser that is showing the unhelpful error message, and now you get a detailed error message, such as the following example:

    Messaggi di errore dettagliati

    L'errore illustrato è stato creato aggiungendo la riga mostrata in rosso a Views\Home\Index.cshtml.(The error shown was created by adding the line shown in red to Views\Home\Index.cshtml.)

La modifica del file Web.config è solo un esempio degli scenari in cui la possibilità di leggere e modificare file nell'app del Servizio app semplifica la risoluzione dei problemi.Editing the Web.config file is only one example of scenarios in which the ability to read and edit files on your App Service app make troubleshooting easier.

Debug remoto di appRemote debugging apps

Se il messaggio di errore dettagliato non fornisce una quantità sufficiente di informazioni e non è possibile ricreare l'errore in locale, un altro modo per risolvere i problemi consiste nell'esecuzione in modalità debug in remoto.If the detailed error message doesn't provide enough information, and you can't re-create the error locally, another way to troubleshoot is to run in debug mode remotely. È possibile impostare punti di interruzione, manipolare direttamente la memoria, esaminare il codice e cambiarne il percorso.You can set breakpoints, manipulate memory directly, step through code, and even change the code path.

Il debug remoto non funziona nelle edizioni Express di Visual Studio.Remote debugging does not work in Express editions of Visual Studio.

Questa sezione illustra come eseguire il debug in modalità remota usando il progetto creato in Create an ASP.NET app in Azure App Service (Creare un'app ASP.NET nel Servizio app di Azure).This section shows how to debug remotely using the project you create in Create an ASP.NET app in Azure App Service.

  1. Aprire il progetto Web creato in Create an ASP.NET app in Azure App Service (Creare un'app ASP.NET nel Servizio app di Azure).Open the web project that you created in Create an ASP.NET app in Azure App Service.

  2. Aprire il file Controllers\HomeController.cs.Open Controllers\HomeController.cs.

  3. Eliminare il metodo About() e sostituirlo con il codice seguente.Delete the About() method and insert the following code in its place.

    public ActionResult About()
    {
        string currentTime = DateTime.Now.ToLongTimeString();
        ViewBag.Message = "The current time is " + currentTime;
        return View();
    }
    
  4. Impostare un punto di interruzione sulla riga ViewBag.Message.Set a breakpoint on the ViewBag.Message line.

  5. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto, quindi scegliere Pubblica.In Solution Explorer, right-click the project, and click Publish.

  6. Nell'elenco a discesa del Profilo selezionare lo stesso profilo usato in Create an ASP.NET app in Azure App Service (Creare un'app ASP.NET nel Servizio app di Azure).In the Profile drop-down list, select the same profile that you used in Create an ASP.NET app in Azure App Service. Quindi fare clic su Impostazioni.Then, click Settings.

  7. Nella finestra di dialogo Pubblica fare clic sulla scheda Impostazioni, sostituire Configurazione con Debug e quindi fare clic su Salva.In the Publish dialog, click the Settings tab, and then change Configuration to Debug, and then click Save.

    Pubblicazione in modalità debug

  8. Fare clic su Pubblica.Click Publish. Al termine della distribuzione, quando il browser si apre all'URL di Azure dell'app, chiudere il browser.After deployment finishes and your browser opens to the Azure URL of your app, close the browser.

  9. In Esplora server fare clic con il pulsante destro del mouse sull'app, quindi fare clic su Collega debugger.In Server Explorer, right-click your app, and then click Attach Debugger.

    Collega debugger

    Il browser si aprirà automaticamente nella home page con Azure in esecuzione.The browser automatically opens to your home page running in Azure. Può essere necessario attendere circa 20 secondi durante la configurazione del server per il debug.You might have to wait 20 seconds or so while Azure sets up the server for debugging. Questo ritardo si verifica solo alla prima esecuzione in modalità debug in un'app in un periodo di 48 ore.This delay only happens the first time you run in debug mode on an app in a 48-hour period. Quando si avvia il debug di nuovo nello stesso periodo, non c'è un ritardo.When you start debugging again in the same period, there isn't a delay.

    Nota

    In caso di problemi di avvio del debugger, provare a eseguire questa operazione con Cloud Explorer anziché con Esplora server.If you have any trouble starting the debugger, try to do it by using Cloud Explorer instead of Server Explorer.

  10. Scegliere About dal menu.Click About in the menu.

    Visual Studio si interrompe in corrispondenza del punto di interruzione e il codice viene eseguito in Azure, non nel computer locale.Visual Studio stops on the breakpoint, and the code is running in Azure, not on your local computer.

  11. Passare il puntatore sulla variabile currentTime per visualizzare il valore relativo all'ora.Hover over the currentTime variable to see the time value.

    Visualizzazione della variabile in modalità debug in Azure

    L'ora visualizzata corrisponde a quella del server Azure, che può essere in un fuso orario diverso rispetto al computer locale.The time you see is the Azure server time, which may be in a different time zone than your local computer.

  12. Immettere un nuovo valore per la variabile currentTime , ad esempio "In esecuzione in Azure".Enter a new value for the currentTime variable, such as "Now running in Azure".

  13. Premere F5 per continuare l'esecuzione.Press F5 to continue running.

    Nella pagina About in esecuzione in Azure verrà ora visualizzato il nuovo valore immesso nella variabile currentTime.The About page running in Azure displays the new value that you entered into the currentTime variable.

    Pagina About con il nuovo valore

Debug remoto di processi WebRemote debugging WebJobs

Questa sezione illustra come eseguire il debug remoto usando il progetto e l'app creati in Introduzione ad Azure WebJobs SDK.This section shows how to debug remotely using the project and app you create in Get Started with the Azure WebJobs SDK.

Le funzionalità illustrate in questa sezione sono disponibili solo in Visual Studio 2013 con Update 4 o successivo.The features shown in this section are available only in Visual Studio 2013 with Update 4 or later.

Il debug remoto funziona solo con processi Web continui.Remote debugging only works with continuous WebJobs. Processi Web pianificata e su richiesta non supporta il debug.Scheduled and on-demand WebJobs don't support debugging.

  1. Aprire il progetto Web creato in Introduzione ad Azure Webjobs SDK.Open the web project that you created in Get Started with the Azure WebJobs SDK.

  2. Nel progetto ContosoAdsWebJob aprire Functions.cs.In the ContosoAdsWebJob project, open Functions.cs.

  3. Impostare un punto di interruzione sulla prima istruzione nel metodo GnerateThumbnail.Set a breakpoint on the first statement in the GnerateThumbnail method.

    Set di punti di interruzione

  4. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto Web (non sul progetto processo Web), quindi scegliere Pubblica.In Solution Explorer, right-click the web project (not the WebJob project), and click Publish.

  5. Nell'elenco a discesa Profilo selezionare il nome del profilo usato in Introduzione a Azure WebJobs SDK.In the Profile drop-down list, select the same profile that you used in Get Started with the Azure WebJobs SDK.

  6. Fare clic sulla scheda Impostazioni, sostituire Configurazione con Debug e quindi fare clic su Pubblica.Click the Settings tab, and change Configuration to Debug, and then click Publish.

    Visual Studio distribuisce i progetti Web e di processo Web e il browser si apre all'URL di Azure dell'app.Visual Studio deploys the web and WebJob projects, and your browser opens to the Azure URL of your app.

  7. In Esplora server espandere Azure > Servizio app > gruppo di risorse dell'utente > App dell'utente > Processi Web > Continuo, quindi fare clic con il pulsante destro del mouse su ContosoAdsWebJob.In Server Explorer, expand Azure > App Service > your resource group > your app > WebJobs > Continuous, and then right-click ContosoAdsWebJob.

  8. Fare clic su Collega debugger.Click Attach Debugger.

    Collega debugger

    Il browser si aprirà automaticamente nella home page con Azure in esecuzione.The browser automatically opens to your home page running in Azure. Può essere necessario attendere circa 20 secondi durante la configurazione del server per il debug.You might have to wait 20 seconds or so while Azure sets up the server for debugging. Questo ritardo si verifica solo alla prima esecuzione in modalità debug in un'app in un periodo di 48 ore.This delay only happens the first time you run in debug mode on an app in a 48-hour period. Quando si avvia il debug di nuovo nello stesso periodo, non c'è un ritardo.When you start debugging again in the same period, there isn't a delay.

  9. Nel Web browser aperto alla home page di Contoso Ads creare un nuovo annuncio.In the web browser that is opened to the Contoso Ads home page, create a new ad.

    La creazione di un annuncio crea un messaggio della coda, che verrà prelevato dal processo Web ed elaborato.Creating an ad causes a queue message to be created, which is picked up by the WebJob and processed. Quando SDK di Processi Web chiama la funzione per elaborare il messaggio in coda, il codice raggiunge il punto di interruzione.When the WebJobs SDK calls the function to process the queue message, the code hits your breakpoint.

  10. Quando il debugger si interrompe al punto di interruzione, è possibile esaminare e modificare i valori delle variabili, mentre il programma è in esecuzione nel cloud.When the debugger breaks at your breakpoint, you can examine and change variable values while the program is running the cloud. Nell'illustrazione seguente il debugger mostra il contenuto dell'oggetto blobInfo passato al metodo GenerateThumbnail.In the following illustration, the debugger shows the contents of the blobInfo object that was passed to the GenerateThumbnail method.

    Oggetto blobInfo nel debugger

  11. Premere F5 per continuare l'esecuzione.Press F5 to continue running.

    Il metodo GenerateThumbnail termina la creazione dell'anteprima.The GenerateThumbnail method finishes creating the thumbnail.

  12. Nel browser aggiornare la pagina di indice per visualizzare l'anteprima.In the browser, refresh the Index page and you see the thumbnail.

  13. In Visual Studio premere MAIUSC+F5 per interrompere il debug.In Visual Studio, press SHIFT+F5 to stop debugging.

  14. In Esplora server fare clic con il pulsante destro del mouse sul nodo ContosoAdsWebJob e fare clic su Visualizza dashboard.In Server Explorer, right-click the ContosoAdsWebJob node and click View Dashboard.

  15. Accedere con le credenziali di Azure e quindi fare clic sul nome del processo Web per passare alla pagina del processo Web.Sign in with your Azure credentials, and then click the WebJob name to go to the page for your WebJob.

    Fare clic su ContosoAdsWebJob

    Il dashboard mostra che la funzione GenerateThumbnail è stata eseguita di recente.The Dashboard shows that the GenerateThumbnail function executed recently.

    La volta successiva che si farà clic su Visualizza dashboard, non sarà necessario eseguire l'accesso e il browser passerà direttamente alla pagina del processo Web.(The next time you click View Dashboard, you don't have to sign in, and the browser goes directly to the page for your WebJob.)

  16. Fare clic sul nome della funzione per visualizzare i dettagli sull'esecuzione della funzione.Click the function name to see details about the function execution.

    Dettagli funzione

Se la funzione ha scritto dei log, è possibile fare clic su ToggleOutput per visualizzarli.If your function wrote logs, you could click ToggleOutput to see them.

Note sul debug remotoNotes about remote debugging

  • L'esecuzione in modalità debug in produzione non è una scelta consigliata.Running in debug mode in production is not recommended. Se l'app di produzione non viene ampliata con più istanze del server, il debug impedisce al server Web di rispondere ad altre richieste.If your production app is not scaled out to multiple server instances, debugging prevents the web server from responding to other requests. Se si dispone di più istanze di server Web, quando si collega il debugger si otterrà un'istanza casuale e non esiste alcun modo per assicurarsi che le richieste successive del browser andranno nella stessa istanza.If you do have multiple web server instances, when you attach to the debugger, you get a random instance, and you have no way to ensure that subsequent browser requests go to the same instance. Inoltre, in genere non viene distribuita una build di debug in produzione e le ottimizzazioni del compilatore per le build di rilascio non consentono di visualizzare il codice sorgente riga per riga.Also, you typically don't deploy a debug build to production, and compiler optimizations for release builds might make it impossible to show what is happening line by line in your source code. Per la risoluzione dei problemi in produzione, la risorsa ottimale è costituita dai log di traccia dell'applicazione e dai log del server Web.For troubleshooting production problems, your best resource is application tracing and web server logs.

  • Evitare interruzioni prolungate in corrispondenza dei punti di interruzione durante il debug remoto.Avoid long stops at breakpoints when remote debugging. In Azure i processi interrotti per più di alcuni minuti vengono considerati come processi che non rispondono e vengono arrestati.Azure treats a process that is stopped for longer than a few minutes as an unresponsive process, and shuts it down.

  • Durante il debug, il server invia i dati a Visual Studio, con possibili implicazioni sui costi della larghezza di banda.While you're debugging, the server is sending data to Visual Studio, which could affect bandwidth charges. Per informazioni sui costi della larghezza di banda, vedere Prezzi di Azure.For information about bandwidth rates, see Azure Pricing.

  • Assicurarsi che l'attributo debug dell'elemento compilation nel file Web.config sia impostato su True.Make sure that the debug attribute of the compilation element in the Web.config file is set to true. Questa è l'impostazione predefinita quando si pubblica una configurazione di build di debug.It is set to true by default when you publish a debug build configuration.

    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
    
  • Se il debugger non passa da un'istruzione all'altra del codice da sottoporre a debug, può essere necessario modificare l'impostazione di Just My Code.If you find that the debugger doesn't step into the code that you want to debug, you might have to change the Just My Code setting. Per altre informazioni, vedere Specificare se eseguire il debug del solo codice utente tramite Just My Code in Visual Studio.For more information, see Specify whether to debug only user code using Just My Code in Visual Studio.

  • Quando si abilita la funzionalità di debug remoto, sul server viene avviato un timer. Dopo 48 ore la funzionalità viene automaticamente disattivata.A timer starts on the server when you enable the remote debugging feature, and after 48 hours the feature is automatically turned off. Questo limite di 48 ore viene impostato per motivi di sicurezza e prestazioni.This 48-hour limit is done for security and performance reasons. È possibile riattivare facilmente la funzionalità tutte le volte che si desidera.You can easily turn the feature back on as many times as you like. È invece consigliabile lasciarla disabilitata quando non si esegue attivamente il debug.We recommend leaving it disabled when you are not actively debugging.

  • È possibile collegare manualmente il debugger a qualsiasi processo, non solo al processo dell'app (w3wp.exe).You can manually attach the debugger to any process, not only the app process (w3wp.exe). Per ulteriori informazioni su come utilizzare la modalità debug in Visual Studio, vedere Debug in Visual Studio.For more information about how to use debug mode in Visual Studio, see Debugging in Visual Studio.

Panoramica dei log di diagnosticaDiagnostic logs overview

Un'applicazione ASP.NET in esecuzione in un'app del Servizio app può creare i tipi di log seguenti:An ASP.NET application that runs in an App Service app can create the following kinds of logs:

  • Log di traccia dell'applicazioneApplication tracing logs
    L'applicazione crea questi log chiamando i metodi della classe System.Diagnostics.Trace .The application creates these logs by calling methods of the System.Diagnostics.Trace class.
  • Log del server WebWeb server logs
    Il server Web crea una voce di registro per ogni richiesta HTTP inviata all'app.The web server creates a log entry for every HTTP request to the app.
  • Log dei messaggi di errore dettagliatiDetailed error message logs
    Il server Web crea una pagina HTML con alcune informazioni aggiuntive relative alle richieste HTTP non riuscite, ovvero quelle che generano un codice di stato pari ad almeno 400.The web server creates an HTML page with some additional information for failed HTTP requests (requests that result in status code 400 or greater).
  • Log di traccia delle richieste non riusciteFailed request tracing logs
    Il server Web crea un file XML con informazioni di traccia dettagliate per le richieste HTTP non riuscite.The web server creates an XML file with detailed tracing information for failed HTTP requests. Fornisce inoltre un file XSL per formattare il file XML in un browser.The web server also provides an XSL file to format the XML in a browser.

Poiché la registrazione influisce sulle prestazioni dell'app, Azure offre la possibilità di abilitare o disabilitare ogni tipo di log in base alle necessità.Logging affects app performance, so Azure gives you the ability to enable or disable each type of log as needed. Per i log dell'applicazione, è possibile specificare che vengano creati solo quelli superiori a un determinato livello di gravità.For application logs, you can specify that only logs above a certain severity level should be written. Quando si crea una nuova app, per impostazione predefinita la registrazione è disabilitata.When you create a new app, by default all logging is disabled.

I log vengono scritti nei file della cartella LogFiles nel file system dell'app e sono accessibili tramite FTP.Logs are written to files in a LogFiles folder in the file system of your app and are accessible via FTP. I log del server Web e dell'applicazione possono anche essere scritti in un account di archiviazione di Azure.Web server logs and application logs can also be written to an Azure Storage account. Negli account di archiviazione è possibile mantenere una quantità di log maggiore rispetto a quella consentita nel file system.You can retain a greater volume of logs in a storage account than is possible in the file system. Se si utilizza il file system, il limite massimo corrisponde a 100 megabyte di log.You're limited to a maximum of 100 megabytes of logs when you use the file system. I log del file system sono destinati solo al mantenimento a breve termine.(File system logs are only for short-term retention. Quando viene raggiunto il limite, vengono eliminati per lasciare spazio a quelli nuovi.Azure deletes old log files to make room for new ones after the limit is reached.)

Creazione e visualizzazione dei log di traccia dell'applicazioneCreate and view application trace logs

In questa sezione vengono eseguite le attività seguenti:In this section, you do the following tasks:

  • Aggiungere le istruzioni di traccia al progetto Web creato in Introduzione ad Azure e ASP.NET.Add tracing statements to the web project that you created in Get started with Azure and ASP.NET.
  • Visualizzazione dei log quando si esegue il progetto in locale.View the logs when you run the project locally.
  • Visualizzazione dei log mentre vengono generati dall'applicazione in esecuzione in Azure.View the logs as they are generated by the application running in Azure.

Per informazioni su come creare i log applicazioni nei processi Web, vedere Come usare il servizio di archiviazione di accodamento di Azure con WebJobs SDK - Come scrivere i log.For information about how to create application logs in WebJobs, see How to work with Azure queue storage using the WebJobs SDK - How to write logs. Le seguenti istruzioni per visualizzare i log e controllare come vengono archiviati in Azure si applicano anche ai log delle applicazioni creati dai processi Web.The following instructions for viewing logs and controlling how they're stored in Azure apply also to application logs created by WebJobs.

Aggiungere istruzioni di traccia all'applicazioneAdd tracing statements to the application

  1. Aprire Controllers\HomeController.cs e sostituire i metodi Index, About e Contact con il codice riportato di seguito per aggiungere istruzioni Trace e un'istruzione using per System.Diagnostics:Open Controllers\HomeController.cs, and replace the Index, About, and Contact methods with the following code in order to add Trace statements and a using statement for System.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. Aggiungere un'istruzione using System.Diagnostics; nella parte iniziale del file.Add a using System.Diagnostics; statement to the top of the file.

Visualizzare l'output di traccia in localeView the tracing output locally

  1. Premere F5 per eseguire l'applicazione in modalità debug.Press F5 to run the application in debug mode.

    Il listener di traccia predefinito scrive tutto l'output di traccia nella finestra Output , insieme ad altro output di debug.The default trace listener writes all trace output to the Output window, along with other Debug output. La figura seguente illustra l'output delle istruzioni trace aggiunte al metodo Index .The following illustration shows the output from the trace statements that you added to the Index method.

    Visualizzazione dell'output di traccia nella finestra Debug

    Nei passaggi seguenti viene illustrato come visualizzare l'output di traccia in una pagina Web, senza eseguire la compilazione in modalità debug.The following steps show how to view trace output in a web page, without compiling in debug mode.

  2. Aprire il file Web.config dell'applicazione, situato nella cartella di progetto, e aggiungere un elemento <system.diagnostics> alla fine del file, poco prima dell'elemento </configuration> di chiusura:Open the application Web.config file (the one located in the project folder) and add a <system.diagnostics> element at the end of the file just before the closing </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>
    

WebPageTraceListener consente di visualizzare l'output di traccia passando a /trace.axd.The WebPageTraceListener lets you view trace output by browsing to /trace.axd.

  1. Aggiungere un elemento trace dopo <system.web> nel file Web.config, come illustrato nell'esempio seguente:Add a trace element under <system.web> in the Web.config file, such as the following example:

    <trace enabled="true" writeToDiagnosticsTrace="true" mostRecent="true" pageOutput="false" />
    
  2. Premere CTRL+F5 per eseguire l'applicazione.Press CTRL+F5 to run the application.

  3. Nella barra degli indirizzi della finestra del browser aggiungere Trace. axd all'URL, quindi premere INVIO (l'URL è simile a http://localhost:53370/trace.axd).In the address bar of the browser window, add trace.axd to the URL, and then press Enter (the URL is similar to http://localhost:53370/trace.axd).

  4. Nella pagina Application Trace fare clic su View Details nella prima riga (non la riga BrowserLink).On the Application Trace page, click View Details on the first line (not the BrowserLink line).

    trace.axd

    Verrà visualizzata la pagina Dettagli richiesta e nella sezione Informazioni analisi sarà riportato l'output delle istruzioni trace aggiunte al metodo Index.The Request Details page appears, and in the Trace Information section you see the output from the trace statements that you added to the Index method.

    trace.axd

    Per impostazione predefinita, trace.axd è disponibile solo in locale.By default, trace.axd is only available locally. Se si vuole renderlo disponibile da un'app remota, è possibile aggiungere localOnly="false" all'elemento trace nel file Web.config, come illustrato nell'esempio seguente:If you wanted to make it available from a remote app, you could add localOnly="false" to the trace element in the Web.config file, as shown in the following example:

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

    Tuttavia, l'attivazione di trace.axd in un'app di produzione non è consigliata per motivi di sicurezza.However, enabling trace.axd in a production app is not recommended for security reasons. Le sezioni seguenti mostrano un modo più semplice per leggere i log di traccia in un'app del Servizio app.In the following sections, you'll see an easier way to read tracing logs in an App Service app.

Visualizzare l'output di traccia in AzureView the tracing output in Azure

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto Web, quindi scegliere Pubblica.In Solution Explorer, right-click the web project and click Publish.

  2. Nella finestra di dialogo Pubblica sito Web fare clic su Pubblica.In the Publish Web dialog box, click Publish.

    Dopo la pubblicazione dell'aggiornamento, verrà aperta una finestra del browser nella home page, a meno che non sia stata deselezionata l'opzione URL di destinazione nella scheda Connessione.After Visual Studio publishes your update, it opens a browser window to your home page (assuming you didn't clear Destination URL on the Connection tab).

  3. In Esplora server fare clic con il pulsante destro del mouse sull'app e selezionare Visualizza log in streaming.In Server Explorer, right-click your app and select View Streaming Logs.

    View Streaming Logs nel menu di scelta rapida

    Nella finestra Output è indicato che si è connessi al servizio di streaming di log e viene aggiunta una riga di notifica dopo ogni minuto trascorso senza un log da visualizzare.The Output window shows that you are connected to the log-streaming service, and adds a notification line each minute that goes by without a log to display.

    View Streaming Logs nel menu di scelta rapida

  4. Nella finestra del browser in cui è visualizzata la home page dell'applicazione fare clic su Contact.In the browser window that shows your application home page, click Contact.

    Entro pochi secondi verrà visualizzata la traccia a livello di errore aggiunta al metodo Contact nella finestra Output.Within a few seconds, the output from the error-level trace you added to the Contact method appears in the Output window.

    Traccia di errore nella finestra Output

    In Visual Studio vengono visualizzate solo le tracce a livello di errore perché questa è l'impostazione predefinita quando si abilita il servizio di monitoraggio dei log.Visual Studio is only showing error-level traces because that is the default setting when you enable the log monitoring service. Quando si crea una nuova app del Servizio app, la registrazione è disabilitata per impostazione predefinita, come illustrato in precedenza all'apertura della pagina di impostazioni:When you create a new App Service app, all logging is disabled by default, as you saw when you opened the settings page earlier:

    Registrazione dell'applicazione disabilitata

    Se tuttavia si seleziona View Streaming Logs, in Visual Studio l'opzione Registrazione applicazioni (file system) viene automaticamente impostata su Errore, il che significa che vengono segnalati i log a livello di errore.However, when you selected View Streaming Logs, Visual Studio automatically changed Application Logging(File System) to Error, which means error-level logs get reported. Per visualizzare tutti i log di traccia, è possibile impostare questa opzione su Verbose.In order to see all of your tracing logs, you can change this setting to Verbose. Quando si seleziona un livello di gravità inferiore a errore, vengono segnalati anche tutti i log per livelli di gravità superiori.When you select a severity level lower than error, all logs for higher severity levels are also reported. Quindi se si seleziona Verbose verranno visualizzati anche i log di informazioni, avvisi ed errori.So when you select verbose, you also see information, warning, and error logs.

  5. In Esplora server fare clic con il pulsante destro del mouse sull'app, quindi scegliere Visualizza impostazioni come indicato in precedenza.In Server Explorer, right-click the app, and then click View Settings as you did earlier.

  6. Impostare l'opzione Registrazione applicazioni (file system) su Dettagliato, quindi fare clic su Salva.Change Application Logging (File System) to Verbose, and then click Save.

    Impostazione del livello di traccia su Verbose

  7. Nella finestra del browser, in cui ora viene visualizzata la pagina Contact, fare clic su Home, quindi su About e infine su Contact.In the browser window that is now showing your Contact page, click Home, then click About, and then click Contact.

    Entro pochi secondi nella finestra Output verrà visualizzato tutto l'output di traccia.Within a few seconds, the Output window shows all of your tracing output.

    Output di traccia dettagliato

    Questa sezione ha illustrato come abilitare e disabilitare la registrazione tramite le impostazioni dell'app.In this section, you enabled and disabled logging by using app settings. È inoltre possibile abilitare e disabilitare i listener di traccia modificando il file Web.config.You can also enable and disable trace listeners by modifying the Web.config file. Tuttavia la modifica del file Web.config provoca il riciclo del dominio dell'app, a differenza di quanto avviene abilitando la registrazione tramite la configurazione dell'app.However, modifying the Web.config file causes the app domain to recycle, while enabling logging via the app configuration doesn't do that. Se il problema è intermittente oppure è necessario molto tempo per riprodurlo, il riciclo del dominio dell'app potrebbe risolverlo e costringere ad attendere finché non si verifica di nuovo.If the problem takes a long time to reproduce, or is intermittent, recycling the app domain might "fix" it and force you to wait until it happens again. Se si abilita la diagnostica in Azure, è possibile avviare l'acquisizione delle informazioni sugli errori senza riciclare il dominio dell'app.Enabling diagnostics in Azure lets you start capturing error information immediately without recycling the app domain.

Funzionalità della finestra OutputOutput window features

La scheda Log di Microsoft Azure della finestra Output contiene diversi pulsanti e una casella di testo:The Microsoft Azure Logs tab of the Output Window has several buttons and a text box:

Pulsanti della scheda Logs

Questi controlli consentono di eseguire le funzioni seguenti:These perform the following functions:

  • Cancellare la finestra Output .Clear the Output window.
  • Abilitare o disabilitare il ritorno a capo automatico.Enable or disable word wrap.
  • Avviare o interrompere il monitoraggio dei log.Start or stop monitoring logs.
  • Specificare i log da monitorare.Specify which logs to monitor.
  • Scaricare i log.Download logs.
  • Filtrare i log in base a una stringa di ricerca o a un'espressione regolare.Filter logs based on a search string or a regular expression.
  • Chiudere la finestra Output .Close the Output window.

Se si immette una stringa di ricerca o un'espressione regolare, in Visual Studio le informazioni verranno filtrate nel client.If you enter a search string or regular expression, Visual Studio filters logging information at the client. Ciò significa che è possibile immettere i criteri di filtro dopo la visualizzazione dei log nella finestra Output e quindi modificarli senza la necessità di rigenerare i log.That means you can enter the criteria after the logs are displayed in the Output window and you can change filtering criteria without having to regenerate the logs.

Visualizzazione dei log del server WebView web server logs

I log del server Web registrano tutta l'attività HTTP che si verifica nell'app.Web server logs record all HTTP activity for the app. Per visualizzarli nella finestra Output, è necessario abilitarli per l'app e indicare a Visual Studio che si vuole monitorarli.In order to see them in the Output window, you must enable them for the app and tell Visual Studio that you want to monitor them.

  1. Nella scheda Configurazione di app Web di Azure aperta da Esplora server, impostare Registrazione server Web su Attivato, quindi fare clic su Salva.In the Azure Web App Configuration tab that you opened from Server Explorer, change Web Server Logging to On, and then click Save.

    Abilitazione della registrazione del server Web

  2. Nella finestra Output fare clic sul pulsante Specifica i log di Microsoft Azure da monitorare.In the Output Window, click the Specify which Microsoft Azure logs to monitor button.

    Specify which Azure logs to monitor

  3. Nella finestra di dialogo Opzioni di registrazione Microsoft Azure selezionare Log del server Web e quindi fare clic su OK.In the Microsoft Azure Logging Options dialog box, select Web server logs, and then click OK.

    Monitoraggio dei log del server Web

  4. Nella finestra del browser in cui viene visualizzata l'app fare clic su Home, quindi su About e infine su Contact.In the browser window that shows the app, click Home, then click About, and then click Contact.

    In genere verranno visualizzati prima i log dell'applicazione, seguiti da quelli del server Web.The application logs generally appear first, followed by the web server logs. Può essere necessario attendere qualche secondo prima che vengano visualizzati i log.You might have to wait a while for the logs to appear.

    Log del server Web nella finestra Output

Per impostazione predefinita, quando vengono abilitati per la prima volta tramite Visual Studio, i log vengono scritti nel file system.By default, when you first enable web server logs by using Visual Studio, Azure writes the logs to the file system. In alternativa, è possibile usare il portale di Azure per specificare che i log del server Web devono essere scritti in un contenitore BLOB in un account di archiviazione.As an alternative, you can use the Azure portal to specify that web server logs should be written to a blob container in a storage account.

Se si usa il portale per abilitare la registrazione del server Web in un account di archiviazione di Azure e quindi si disabilita la registrazione in Visual Studio, quando si riabilita la registrazione in Visual Studio le impostazioni dell'account di archiviazione verranno ripristinate.If you use the portal to enable web server logging to an Azure storage account, and then disable logging in Visual Studio, when you re-enable logging in Visual Studio your storage account settings are restored.

Visualizzare i log dei messaggi di errore dettagliatiView detailed error message logs

I log dei messaggi di errore dettagliati forniscono informazioni aggiuntive sulle richieste HTTP che generano codici di risposta di errore (400 o superiore).Detailed error logs provide some additional information about HTTP requests that result in error response codes (400 or above). Per visualizzarli nella finestra Output, è necessario abilitarli per l'app e indicare a Visual Studio che si vuole monitorarli.In order to see them in the Output window, you have to enable them for the app and tell Visual Studio that you want to monitor them.

  1. Nella scheda Configurazione di app Web di Azure aperta da Esplora server, impostare Messaggi di errore dettagliati su On, quindi fare clic su Salva.In the Azure Web App Configuration tab that you opened from Server Explorer, change Detailed Error Messages to On, and then click Save.

    Abilitazione dei messaggi di errore dettagliati

  2. Nella finestra Output fare clic sul pulsante Specifica i log di Microsoft Azure da monitorare.In the Output Window, click the Specify which Microsoft Azure logs to monitor button.

  3. Nella finestra di dialogo Opzioni di registrazione di Microsoft Azure selezionare Tutti i log e quindi fare clic su OK.In the Microsoft Azure Logging Options dialog box, click All logs, and then click OK.

    Monitoraggio di tutti i log

  4. Nella barra degli indirizzi della finestra del browser aggiungere un altro carattere all'URL per generare un errore 404, ad esempio http://localhost:53370/Home/Contactxe premere INVIO.In the address bar of the browser window, add an extra character to the URL to cause a 404 error (for example, http://localhost:53370/Home/Contactx), and press Enter.

    Dopo alcuni secondi nella finestra Output di Visual Studio verrà visualizzato il log dei messaggi di errore dettagliati.After several seconds, the detailed error log appears in the Visual Studio Output window.

    Log dei messaggi di errore dettagliati nella finestra Output

    Fare clic sul collegamento tenendo premuto CTRL per visualizzare l'output dei log formattato in un browser:Control+click the link to see the log output formatted in a browser:

    Log dei messaggi di errore dettagliati in una finestra del browser

Download dei log del file systemDownload file system logs

Tutti i log che è possibile monitorare nella finestra Output possono anche essere scaricati in un file ZIP .Any logs that you can monitor in the Output window can also be downloaded as a .zip file.

  1. Nella finestra Output fare clic su Scarica i log in streaming.In the Output window, click Download Streaming Logs.

    Pulsanti della scheda Logs

    Si aprirà Esplora file alla cartella Download con il file scaricato selezionato.File Explorer opens to your Downloads folder with the downloaded file selected.

    File scaricato

  2. Estrarre il file ZIP. Verrà visualizzata la struttura di cartella seguente:Extract the .zip file, and you see the following folder structure:

    File scaricato

    • I log di traccia dell'applicazione sono contenuti in file con estensione txt nella cartella LogFiles\Application.Application tracing logs are in .txt files in the LogFiles\Application folder.

    • I log del server Web sono contenuti in file con estensione log nella cartella LogFiles\http\RawLogs.Web server logs are in .log files in the LogFiles\http\RawLogs folder. Per visualizzare e manipolare questi file, è possibile utilizzare uno strumento come Log Parser .You can use a tool such as Log Parser to view and manipulate these files.

    • I log dei messaggi di errore dettagliati sono contenuti in file con estensione html nella cartella LogFiles\DetailedErrors.Detailed error message logs are in .html files in the LogFiles\DetailedErrors folder.

      La cartella deployments contiene i file creati dalla pubblicazione del controllo del codice sorgente e non include contenuto correlato alla pubblicazione di Visual Studio.(The deployments folder is for files created by source control publishing; it doesn't have anything related to Visual Studio publishing. La cartella Git contiene le tracce correlate alla pubblicazione del controllo del codice sorgente e al servizio di streaming di file di log.The Git folder is for traces related to source control publishing and the log file streaming service.)

Visualizzare i log di traccia delle richieste non riusciteView failed request tracing logs

I log di traccia delle richieste non riuscite sono utili quando è necessario acquisire i dettagli sul modo in cui vengono gestite le richieste HTTP in IIS, in scenari come i problemi di autenticazione o di riscrittura di URL.Failed request tracing logs are useful when you need to understand the details of how IIS is handling an HTTP request, in scenarios such as URL rewriting or authentication problems.

Le app del Servizio app usano la stessa funzionalità di traccia delle richieste non riuscite disponibile in IIS 7.0 e versioni successive.App Service apps use the same failed request tracing functionality that has been available with IIS 7.0 and later. Tuttavia, non si dispone di accesso alle impostazioni di IIS che consentono di configurare quali errori vengono registrati.You don't have access to the IIS settings that configure which errors get logged, however. Quando si abilita la traccia delle richieste non riuscite, vengono acquisiti tutti gli errori.When you enable failed request tracing, all errors are captured.

È possibile abilitare la traccia delle richieste non riuscite mediante Visual Studio, ma non è possibile visualizzarle in Visual Studio.You can enable failed request tracing by using Visual Studio, but you can't view them in Visual Studio. I log sono file in formato XML.These logs are XML files. Il servizio di log in streaming esegue il monitoraggio solo dei file leggibili in modalità testo normale, ovvero: .txt, .html e file di .log.The streaming log service only monitors files that are deemed readable in plain text mode: .txt, .html, and .log files.

È possibile visualizzare i log di traccia delle richieste non riuscite direttamente in un browser mediante FTP oppure in locale dopo aver utilizzato uno strumento FTP per scaricarli nel computer in uso.You can view failed request tracing logs in a browser directly via FTP or locally after using an FTP tool to download them to your local computer. In questa sezione verrà illustrato come visualizzarli direttamente in un browser.In this section, you'll view them in a browser directly.

  1. Nella scheda Configurazione della finestra App Web di Azure aperta da Esplora server, impostare Traccia delle richieste non riuscite su Attivato, quindi fare clic su Salva.In the Configuration tab of the Azure Web App window that you opened from Server Explorer, change Failed Request Tracing to On, and then click Save.

    Abilitazione della traccia delle richieste non riuscite

  2. Nella barra degli indirizzi della finestra del browser in cui è visualizzata l'app aggiungere un carattere ulteriore all'URL e premere INVIO per generare un errore 404.In the address bar of the browser window that shows the app, add an extra character to the URL and click Enter to cause a 404 error.

    In questo modo verrà creato un log di traccia delle richieste non riuscite. Di seguito viene illustrato come visualizzare o scaricare il log.This causes a failed request tracing log to be created, and the following steps show how to view or download the log.

  3. In Visual Studio, nella scheda Configurazione della finestra App Web di Azure fare clic su Apri nel portale di gestione.In Visual Studio, in the Configuration tab of the Azure Web App window, click Open in Management Portal.

  4. Nella pagina Impostazioni del portale di Azure per l'app fare clic su Credenziali per la distribuzione e quindi immettere un nuovo nome utente e una nuova password.In the Azure portal Settings page for your app, click Deployment credentials, and then enter a new user name and password.

    Nuovo nome utente e nuova password FTP

    Nota

    Quando si effettua l'accesso, è necessario usare il nome utente completo preceduto dal nome dell'app.When you log in, you have to use the full user name with the app name prefixed to it. Ad esempio, se si immette "idpersonale" come nome utente e il sito è "esempiopersonale", è accedere come "esempiopersonale\idpersonale".For example, if you enter "myid" as a user name and the site is "myexample", you log in as "myexample\myid".

  5. In una nuova finestra del browser passare all'URL indicato in Nome host FTP o Nome host FTPS della pagina Panoramica per l'app.In a new browser window, go to the URL that is shown under FTP hostname or FTPS hostname in the Overview page for your app.

  6. Accedere con le credenziali FTP create in precedenza (incluso il prefisso del nome dell'app per il nome utente).Sign in using the FTP credentials that you created earlier (including the app name prefix for the user name).

    Nel browser verrà visualizzata la cartella radice dell'app.The browser shows the root folder of the app.

  7. Aprire la cartella LogFiles .Open the LogFiles folder.

    Apertura della cartella LogFiles.

  8. Aprire la cartella denominata W3SVC più un valore numerico.Open the folder that is named W3SVC plus a numeric value.

    Apertura della cartella W3SVC

    La cartella contiene i file XML relativi a eventuali errori registrati dopo l'abilitazione della traccia delle richieste non riuscite, oltre a un file XSL utilizzabile dal browser per formattare i file XML.The folder contains XML files for any errors that have been logged after you enabled failed request tracing, and an XSL file that a browser can use to format the XML.

    Cartella W3SVC

  9. Fare clic sul file XML relativo alla richiesta non riuscita per cui si desidera visualizzare informazioni di traccia.Click the XML file for the failed request that you want to see tracing information for.

    Nella figura seguente è illustrata una parte delle informazioni di traccia per un errore di esempio.The following illustration shows part of the tracing information for a sample error.

    Traccia delle richieste non riuscite nel browser

Passaggi successiviNext Steps

Questo articolo ha illustrato come Visual Studio semplifica la visualizzazione dei log creati da un'app del Servizio app.You've seen how Visual Studio makes it easy to view logs created by an App Service app. Le sezioni seguenti forniscono collegamenti ad altre risorse su argomenti correlati:The following sections provide links to more resources on related topics:

  • Risoluzione dei problemi relativi al Servizio appApp Service troubleshooting
  • Debug in Visual StudioDebugging in Visual Studio
  • Debug remoto in AzureRemote debugging in Azure
  • Traccia nelle applicazioni ASP.NETTracing in ASP.NET applications
  • Analisi dei log del server WebAnalyzing web server logs
  • Analisi dei log di traccia delle richieste non riusciteAnalyzing failed request tracing logs
  • Debug di Servizi cloudDebugging Cloud Services

Risoluzione dei problemi relativi al Servizio appApp Service troubleshooting

Per altre informazioni sulla risoluzione dei problemi di app nel Servizio app di Azure, consultare le risorse seguenti:For more information about troubleshooting apps in Azure App Service, see the following resources:

Per informazioni su specifiche domande relative alla risoluzione dei problemi, avviare un thread in uno dei forum seguenti:For help with a specific troubleshooting question, start a thread in one of the following forums:

Debug in Visual StudioDebugging in Visual Studio

Per altre informazioni su come usare la modalità debug in Visual Studio, vedere gli argomenti Debug in Visual Studio e Suggerimenti sul debug con Visual Studio 2010.For more information about how to use debug mode in Visual Studio, see Debugging in Visual Studio and Debugging Tips with Visual Studio 2010.

Debug remoto in AzureRemote debugging in Azure

Per altre informazioni sul debug remoto per app del Servizio app e per i processi Web, consultare le risorse seguenti:For more information about remote debugging for App Service apps and WebJobs, see the following resources:

Se l'app usa un back-end di Servizi mobili o di API Web di Azure di cui è necessario eseguire il debug, consultare Debugging .NET Backend in Visual Studio (Debug di back-end .NET in Visual Studio).If your app uses an Azure Web API or Mobile Services back-end and you need to debug that, see Debugging .NET Backend in Visual Studio.

Traccia nelle applicazioni ASP.NETTracing in ASP.NET applications

In Internet non sono disponibili introduzioni complete e approfondite per la traccia in ASP.NET.There are no thorough and up-to-date introductions to ASP.NET tracing available on the Internet. È consigliabile iniziare con i materiali introduttivi precedenti scritti per Web Form, perché MVC non esisteva ancora, e quindi integrare queste informazioni con i post di blog più recenti dedicati a specifici problemi.The best you can do is get started with old introductory materials written for Web Forms because MVC didn't exist yet, and supplement that with newer blog posts that focus on specific issues. Altre risorse introduttive sono riportate di seguito:Some good places to start are the following resources:

Per la registrazione degli errori, in alternativa alla scrittura di codice di traccia personalizzato, è possibile utilizzare un framework di registrazione open source come ELMAH.For error logging, an alternative to writing your own tracing code is to use an open-source logging framework such as ELMAH. Per ulteriori informazioni, vedere i post di blog di Scott Hanselman su ELMAH.For more information, see Scott Hanselman's blog posts about ELMAH.

Inoltre, non è necessario usare ASP.NET o la traccia System.Diagnostics nel per ottenere i log in streaming da Azure.Also, you don't need to use ASP.NET or System.Diagnostics tracing to get streaming logs from Azure. Il servizio di log in streaming dell'app del Servizio app di Azure trasmette tutti i file con estensione .txt, .html o .log presenti nella cartella LogFiles.The App Service app streaming log service streams any .txt, .html, or .log file that it finds in the LogFiles folder. Pertanto, è possibile creare un sistema di registrazione personalizzato per scrivere nel file system dell'app. In questo modo il file verrà automaticamente trasmesso e scaricato.Therefore, you could create your own logging system that writes to the file system of the app, and your file is automatically streamed and downloaded. È sufficiente scrivere codice di applicazione che crea file nella cartella d:\home\logfiles.All you have to do is write application code that creates files in the d:\home\logfiles folder.

Analisi dei log del server WebAnalyzing web server logs

Per ulteriori informazioni sull'analisi dei log del server Web, vedere le risorse seguenti:For more information about analyzing web server logs, see the following resources:

Analisi dei log di traccia delle richieste non riusciteAnalyzing failed request tracing logs

Il sito Web Microsoft TechNet include la sezione Uso della traccia delle richieste non riuscite, che potrebbe risultare utile per informazioni su come usare questi log.The Microsoft TechNet website includes a Using Failed Request Tracing section, which may be helpful for understanding how to use these logs. Tuttavia, questa documentazione è incentrata principalmente sulla configurazione della traccia delle richieste non riuscite in IIS, che non è possibile eseguire nel Servizio app di Azure.However, this documentation focuses mainly on configuring failed request tracing in IIS, which you can't do in Azure App Service.