Dépanner une application dans Azure App Service à l'aide de Visual StudioTroubleshoot an app in Azure App Service using Visual Studio

PrésentationOverview

Ce didacticiel explique comment utiliser les outils Visual Studio pour déboguer une application dans App Service en activant le Mode débogage à distance ou en consultant les journaux des applications et des serveurs 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.

Vous apprendrez ce qui suit :You'll learn:

  • quelles sont les fonctions de gestion d'applications proposées par Visual Studio ;Which app management functions are available in Visual Studio.
  • comment utiliser l'affichage à distance de Visual Studio pour apporter des modifications rapides dans une application à distance ;How to use Visual Studio remote view to make quick changes in a remote app.
  • comment exécuter le mode débogage à distance lorsqu'un projet est exécuté dans Azure, pour une application comme pour une tâche web.How to run debug mode remotely while a project is running in Azure, both for an app and for a WebJob.
  • la création de journaux d’activité de suivi d’application et leur affichage pendant leur création par l’application ;How to create application trace logs and view them while the application is creating them.
  • l’affichage des journaux d’activité de serveur Web, notamment des messages d’erreur détaillés et le suivi des demandes ayant échoué ;How to view web server logs, including detailed error messages and failed request tracing.
  • l’envoi de journaux de diagnostic à un compte Azure Storage et leur affichage depuis ce compte.How to send diagnostic logs to an Azure Storage account and view them there.

Si vous disposez de Visual Studio Ultimate, vous pouvez également utiliser IntelliTrace à des fins de débogage.If you have Visual Studio Ultimate, you can also use IntelliTrace for debugging. IntelliTrace n’est pas couvert dans ce didacticiel.IntelliTrace is not covered in this tutorial.

Configuration requisePrerequisites

Ce didacticiel fonctionne avec l'environnement de développement, le projet web et l'application App Service que vous avez configurés dans Créer une application ASP.NET dans Azure App Service.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. Pour les sections WebJobs, vous aurez besoin de l’application créée dans le cadre de la Prise en main du Kit de développement logiciel (SDK) WebJobs Azure.For the WebJobs sections, you'll need the application that you create in Get Started with the Azure WebJobs SDK.

Les exemples de code inclus dans ce didacticiel sont destinés à une application Web C# MVC, mais les procédures de résolution de problèmes sont identiques pour les applications Visual Basic et Web Forms.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.

Ce didacticiel suppose que vous utilisez Visual Studio 2019.The tutorial assumes you're using Visual Studio 2019.

La fonctionnalité de diffusion de journaux d’activité en continu est opérationnelle uniquement pour les applications ciblant .NET Framework 4 ou une version ultérieure.The streaming logs feature only works for applications that target .NET Framework 4 or later.

Configuration et gestion de l'applicationApp configuration and management

Visual Studio permet d'accéder à un sous-ensemble des fonctionnalités de gestion des applications et des paramètres de configuration disponibles sur le portail Azure.Visual Studio provides access to a subset of the app management functions and configuration settings available in the Azure portal. Cette section présente les éléments disponibles en cas d’utilisation de l’Explorateur de serveurs.In this section, you'll see what's available by using Server Explorer. Pour connaître les dernières fonctionnalités d’intégration d’Azure, essayez également Cloud Explorer .To see the latest Azure integration features, try out Cloud Explorer also. Vous pouvez ouvrir les deux fenêtres à partir du menu Affichage .You can open both windows from the View menu.

  1. Si vous n’êtes pas encore connecté à Azure dans Visual Studio, cliquez avec le bouton droit sur Azure et sélectionnez Se connecter à Abonnement Microsoft Azure dans l’Explorateur de serveurs.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.

    Vous pouvez aussi installer un certificat de gestion permettant d'accéder à votre compte.An alternative is to install a management certificate that enables access to your account. Si vous choisissez d’installer un certificat, cliquez avec le bouton droit sur le nœud Azure dans l’Explorateur de serveurs, puis sélectionnez Gérer et filtrer les abonnements dans le menu contextuel.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. Dans la boîte de dialogue Gérer les abonnements Microsoft Azure, cliquez sur l’onglet Certificats, puis sur Importer.In the Manage Microsoft Azure Subscriptions dialog box, click the Certificates tab, and then click Import. Suivez la procédure pour télécharger et importer un fichier d’abonnement (portant l’extension .publishsettings ) pour votre compte Azure.Follow the directions to download and then import a subscription file (also called a .publishsettings file) for your Azure account.

    Notes

    Si vous téléchargez un fichier d’abonnement, enregistrez-le dans un dossier situé hors de vos répertoires de code source (par exemple, dans le dossier Téléchargements), puis supprimez-le une fois l’importation terminée.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. Si un utilisateur malveillant accède au fichier d’abonnement, il peut modifier, créer et supprimer vos services Azure.A malicious user who gains access to the subscription file can edit, create, and delete your Azure services.

    Pour plus d’informations sur la connexion aux ressources Azure à partir de Visual Studio, consultez la page Gérer des comptes, des abonnements et des rôles d’administrateur.For more information about connecting to Azure resources from Visual Studio, see Manage Accounts, Subscriptions, and Administrative Roles.

  2. Dans l’Explorateur de serveurs, développez Azure, puis App Service.In Server Explorer, expand Azure and expand App Service.

  3. Développez le groupe de ressources incluant l'application que vous avez créée dans Créer une application ASP.NET dans Azure App Service, puis cliquez avec le bouton droit sur le nœud d'application et sélectionnez Afficher les paramètres.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.

    Afficher les paramètres dans l'Explorateur de serveurs

    L'onglet Application web Azure apparaît, affichant les tâches de gestion et de configuration des applications disponibles dans 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.

    Fenêtre Application web Microsoft Azure

    Dans ce didacticiel, vous utiliserez les menus déroulants de suivi et de journalisation.In this tutorial, you'll use the logging and tracing drop-downs. Vous utiliserez également le débogage à distance en l'activant d'une façon différente.You'll also use remote debugging but you'll use a different method to enable it.

    Pour plus d'informations sur les cases à cocher Paramètres de l'application et Chaînes de connexion de cette fenêtre, consultez l'article Azure App Service: How Application Strings and Connection Strings Work (Fonctionnement des chaînes d’application et de connexion d’Azure Web Apps).For information about the App Settings and Connection Strings boxes in this window, see Azure App Service: How Application Strings and Connection Strings Work.

    Pour effectuer une tâche de gestion d'application non exécutable dans cette fenêtre, cliquez sur Ouvrir dans le portail de gestion pour ouvrir une fenêtre de navigateur sur le portail 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.

Accès aux fichiers d'applications dans l'Explorateur de serveursAccess app files in Server Explorer

En général, vous déployez un projet Web avec l’indicateur customErrors défini sur la valeur On ou RemoteOnly dans le fichier Web.config, ce qui signifie que vous n’obtenez pas de message d’erreur utile en cas de problème.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. Généralement, ces messages se présentent sous la forme d’une page comme celles qui suivent :For many errors, all you get is a page like one of the following ones:

Erreur de serveur dans l’application « / » :Server Error in '/' Application:

Page d’erreur inutile

Nous avons rencontré une erreur :An error occurred:

Page d’erreur inutile

Le site Web ne peut pas afficher la pageThe website cannot display the page

Page d’erreur inutile

Généralement, la méthode la plus simple pour rechercher la cause d’une erreur consiste à activer les messages d’erreur détaillés : la première capture d’écran de la série précédente montre comment procéder.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. Vous devez modifier le fichier Web.config déployé.That requires a change in the deployed Web.config file. Vous pouvez modifier le fichier Web.config dans le projet et redéployer ce dernier, ou vous pouvez créer une transformation Web.config et déployer une build de débogage, mais la solution la plus rapide est la suivante : dans l'Explorateur de solutions, vous pouvez afficher et modifier directement les fichiers dans l'application distante à l'aide de la fonctionnalité d'affichage à distance.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. Dans l'Explorateur de serveurs, développez l'élément Azure, App Service, puis le groupe de ressources où se trouve votre application, et développez le nœud de votre application.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.

    Vous voyez alors les nœuds qui vous donnent accès aux fichiers de contenu et aux fichiers journaux de l'application.You see nodes that give you access to the app's content files and log files.

  2. Développez le nœud Fichiers , puis double-cliquez sur le fichier Web.config .Expand the Files node, and double-click the Web.config file.

    Ouvrir Web.config

    Visual Studio ouvre le fichier Web.config à partir de l'application distante, puis affiche l'élément [Distant] en regard du nom du fichier sur la barre de titre.Visual Studio opens the Web.config file from the remote app and shows [Remote] next to the file name in the title bar.

  3. Ajoutez la ligne suivante à l’élément system.web :Add the following line to the system.web element:

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

    Modifier Web.config

  4. Actualisez le navigateur qui affiche le message d'erreur inutile : à présent, vous obtenez un message d'erreur détaillé, comme dans l'exemple suivant :Refresh the browser that is showing the unhelpful error message, and now you get a detailed error message, such as the following example:

    Messages d’erreur détaillés

    L’erreur affichée est générée par l’ajout de la ligne affichée en rouge à Views\Home\Index.cshtml.(The error shown was created by adding the line shown in red to Views\Home\Index.cshtml.)

La modification du fichier Web.config n'est qu'un exemple des scénarios dans lesquels la capacité de lire et de modifier des fichiers sur votre application App Service simplifie la résolution des problèmes.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.

Applications de débogage à distanceRemote debugging apps

Si le message d'erreur détaillé ne fournit pas assez d'informations et que vous ne pouvez pas recréer l'erreur localement, une autre méthode pour résoudre le problème consiste à exécuter le mode de débogage à distance.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. Vous pouvez définir des points d'arrêt, manipuler directement la mémoire, parcourir le code en détail et même modifier le chemin d'accès du code.You can set breakpoints, manipulate memory directly, step through code, and even change the code path.

Le débogage à distance ne fonctionne pas avec les éditions Express de Visual Studio.Remote debugging does not work in Express editions of Visual Studio.

Cette section illustre comment déboguer à distance à l'aide du projet que vous créez dans Créer une application ASP.NET dans Azure App Service.This section shows how to debug remotely using the project you create in Create an ASP.NET app in Azure App Service.

  1. Ouvrez le projet web que vous avez créé dans Créer une application ASP.NET dans Azure App Service.Open the web project that you created in Create an ASP.NET app in Azure App Service.

  2. Ouvrez Controllers\HomeController.cs.Open Controllers\HomeController.cs.

  3. Supprimez la méthode About() et insérez le code suivant à la place.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();
}
  1. Définissez un point d’arrêt sur la ligne ViewBag.Message.Set a breakpoint on the ViewBag.Message line.

  2. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis cliquez sur Publier.In Solution Explorer, right-click the project, and click Publish.

  3. Dans la liste déroulante Profil, sélectionnez le profil utilisé dans Créer une application ASP.NET dans Azure App Service.In the Profile drop-down list, select the same profile that you used in Create an ASP.NET app in Azure App Service. Puis, cliquez sur Paramètres.Then, click Settings.

  4. Dans la boîte de dialogue Publier, cliquez sur l’onglet Paramètres et remplacez Configuration par Déboguer, puis cliquez sur Enregistrer.In the Publish dialog, click the Settings tab, and then change Configuration to Debug, and then click Save.

    Publier en mode débogage

  5. Cliquez sur Publier.Click Publish. Au terme du déploiement, lorsque votre navigateur s'ouvre en affichant l'adresse URL Azure de votre application, fermez le navigateur.After deployment finishes and your browser opens to the Azure URL of your app, close the browser.

  6. Dans l'Explorateur de serveurs, cliquez avec le bouton droit sur votre application, puis cliquez sur Attacher le débogueur.In Server Explorer, right-click your app, and then click Attach Debugger.

    Attacher le débogueur

    Le navigateur ouvre automatiquement votre page d'accueil exécutée dans Azure.The browser automatically opens to your home page running in Azure. Vous devrez peut-être attendre environ 20 secondes pendant qu'Azure configure le serveur pour le débogage.You might have to wait 20 seconds or so while Azure sets up the server for debugging. Ce retard se produit uniquement la première fois que vous exécutez le mode débogage sur une application au cours d'une période de 48 heures.This delay only happens the first time you run in debug mode on an app in a 48-hour period. Si vous commencez à déboguer à nouveau au cours de la même période, aucun retard ne se produit.When you start debugging again in the same period, there isn't a delay.

    Notes

    Si vous rencontrez des problèmes au démarrage du débogueur, essayez d’utiliser Cloud Explorer au lieu de l’Explorateur de serveurs.If you have any trouble starting the debugger, try to do it by using Cloud Explorer instead of Server Explorer.

  7. Cliquez sur À propos de dans le menu.Click About in the menu.

    Visual Studio s'arrête sur le point d'arrêt et le code s'exécute dans Azure, et non pas sur votre ordinateur local.Visual Studio stops on the breakpoint, and the code is running in Azure, not on your local computer.

  8. Passez la souris sur la variable currentTime pour afficher la valeur de temps.Hover over the currentTime variable to see the time value.

    Afficher une variable en mode débogage sur Azure

    Le temps affiché correspond au fuseau horaire du serveur Azure, qui peut différer de celui de votre ordinateur local.The time you see is the Azure server time, which may be in a different time zone than your local computer.

  9. Entrez une nouvelle valeur pour la variable currentTime , comme « En cours d’exécution dans Azure ».Enter a new value for the currentTime variable, such as "Now running in Azure".

  10. Appuyez sur F5 pour continuer.Press F5 to continue running.

    La page « À propos de » exécutée dans Azure affiche la nouvelle valeur entrée dans la variable currentTime.The About page running in Azure displays the new value that you entered into the currentTime variable.

    Page « À propos de » avec une nouvelle valeur

Débogage à distance de WebJobsRemote debugging WebJobs

Cette section explique comment déboguer un élément à distance en utilisant le projet et l'application que vous avez créés avec le didacticiel Prise en main du Kit de développement logiciel (SDK) Azure WebJobs.This section shows how to debug remotely using the project and app you create in Get Started with the Azure WebJobs SDK.

Les fonctionnalités présentées dans cette section sont disponibles uniquement dans Visual Studio 2013 avec Update 4 ou version ultérieure.The features shown in this section are available only in Visual Studio 2013 with Update 4 or later.

Le débogage à distance fonctionne uniquement avec les tâches Web en continu.Remote debugging only works with continuous WebJobs. Les tâches Web planifiées et à la demande ne prennent pas en charge le débogage.Scheduled and on-demand WebJobs don't support debugging.

  1. Ouvrez le projet Web que vous avez créé dans Prise en main du Kit de développement logiciel (SDK) Azure WebJobs.Open the web project that you created in Get Started with the Azure WebJobs SDK.

  2. Dans le projet ContosoAdsWebJob, ouvrez Functions.cs.In the ContosoAdsWebJob project, open Functions.cs.

  3. Définissez un point d’arrêt sur la première instruction dans la méthode GnerateThumbnail.Set a breakpoint on the first statement in the GnerateThumbnail method.

    Définir le point d’arrêt

  4. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet web (pas le projet WebJobs), puis cliquez sur Publier.In Solution Explorer, right-click the web project (not the WebJob project), and click Publish.

  5. Dans le menu déroulant Profil , sélectionnez le même profil que celui utilisé dans Prise en main du Kit de développement logiciel (SDK) WebJobs Azure.In the Profile drop-down list, select the same profile that you used in Get Started with the Azure WebJobs SDK.

  6. Cliquez sur l’onglet Paramètres, remplacez Configuration par Debug, puis cliquez sur Publier.Click the Settings tab, and change Configuration to Debug, and then click Publish.

    Visual Studio déploie les projets de tâche web et web, et votre navigateur ouvre l'URL Azure de votre application.Visual Studio deploys the web and WebJob projects, and your browser opens to the Azure URL of your app.

  7. Dans l'Explorateur de serveurs, développez Azure > App Service > votre groupe de ressources > votre application > WebJobs > Continu, puis cliquez avec le bouton droit sur ContosoAdsWebJob.In Server Explorer, expand Azure > App Service > your resource group > your app > WebJobs > Continuous, and then right-click ContosoAdsWebJob.

  8. Cliquez sur Attacher le débogueur.Click Attach Debugger.

    Attacher le débogueur

    Le navigateur ouvre automatiquement votre page d'accueil exécutée dans Azure.The browser automatically opens to your home page running in Azure. Vous devrez peut-être attendre environ 20 secondes pendant qu'Azure configure le serveur pour le débogage.You might have to wait 20 seconds or so while Azure sets up the server for debugging. Ce retard se produit uniquement la première fois que vous exécutez le mode débogage sur une application au cours d'une période de 48 heures.This delay only happens the first time you run in debug mode on an app in a 48-hour period. Si vous commencez à déboguer à nouveau au cours de la même période, aucun retard ne se produit.When you start debugging again in the same period, there isn't a delay.

  9. Dans le navigateur web ouvert à la page d’accueil Contoso Ads, créez une publicité.In the web browser that is opened to the Contoso Ads home page, create a new ad.

    La création d’une publicité provoque la création d’un message de file d’attente, qui est récupéré par la tâche web et traité.Creating an ad causes a queue message to be created, which is picked up by the WebJob and processed. Quand le Kit SDK WebJobs appelle la fonction pour traiter le message de file d’attente, le code atteint votre point d’arrêt.When the WebJobs SDK calls the function to process the queue message, the code hits your breakpoint.

  10. Quand le débogueur s’arrête au point d’arrêt, vous pouvez examiner et modifier les valeurs des variables pendant l’exécution du programme dans le cloud.When the debugger breaks at your breakpoint, you can examine and change variable values while the program is running the cloud. Dans l’illustration suivante, le débogueur affiche le contenu de l’objet blobInfo qui a été passé à la méthode GenerateThumbnail.In the following illustration, the debugger shows the contents of the blobInfo object that was passed to the GenerateThumbnail method.

    Objet blobInfo dans le débogueur

  11. Appuyez sur F5 pour continuer.Press F5 to continue running.

    La méthode GenerateThumbnail achève la création de la miniature.The GenerateThumbnail method finishes creating the thumbnail.

  12. Dans le navigateur, actualisez la page Index ; la miniature apparaît.In the browser, refresh the Index page and you see the thumbnail.

  13. Dans Visual Studio, appuyez sur Maj+F5 pour arrêter le débogage.In Visual Studio, press SHIFT+F5 to stop debugging.

  14. Dans l’Explorateur de serveurs, cliquez avec le bouton droit sur le nœud ContosoAdsWebJob et cliquez sur Afficher le tableau de bord.In Server Explorer, right-click the ContosoAdsWebJob node and click View Dashboard.

  15. Connectez-vous avec vos informations d’identification Azure, puis cliquez sur le nom de la tâche web pour accéder à la page de votre tâche web.Sign in with your Azure credentials, and then click the WebJob name to go to the page for your WebJob.

    Cliquer sur ContosoAdsWebJob

    Le tableau de bord indique que la fonction GenerateThumbnail a été exécutée récemment.The Dashboard shows that the GenerateThumbnail function executed recently.

    (La prochaine fois que vous cliquez sur Afficher le tableau de bord, vous ne serez pas obligé de vous connecter et le navigateur accédera directement à la page de votre tâche 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. Cliquez sur le nom de la fonction pour afficher les détails relatifs à son exécution.Click the function name to see details about the function execution.

    Détails de la fonction

Si votre fonction a écrit des journaux d’activité, vous pouvez cliquer sur ToggleOutput pour les afficher.If your function wrote logs, you could click ToggleOutput to see them.

Notes à propos du débogage à distanceNotes about remote debugging

  • Nous vous déconseillons d'exécuter le mode débogage en production.Running in debug mode in production is not recommended. Si votre application de production n'est pas montée en charge sur plusieurs instances de serveur, la fonction de débogage empêche le serveur web de répondre aux autres demandes.If your production app is not scaled out to multiple server instances, debugging prevents the web server from responding to other requests. Si vous avez plusieurs instances de serveurs web, le fait de joindre le débogueur génère une instance aléatoire et vous empêche de vérifier que les demandes suivantes de votre navigateur parviennent à la même instance.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. De même, comme vous ne déployez généralement pas une version de débogage dans un environnement de production, les optimisations du compilateur pour les versions Release peuvent empêcher l'affichage des réactions ligne par ligne dans votre code source.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. Pour résoudre les problèmes de production, la meilleure ressource est constituée des journaux d’activité de suivi d’application et de serveur Web.For troubleshooting production problems, your best resource is application tracing and web server logs.
  • Évitez les arrêts longs aux points d'arrêt avec le débogage à distance.Avoid long stops at breakpoints when remote debugging. Azure considère qu'un processus arrêté pendant plus de quelques minutes ne répond pas, et l'arrête définitivement.Azure treats a process that is stopped for longer than a few minutes as an unresponsive process, and shuts it down.
  • Pendant le débogage, le serveur envoie des données à Visual Studio, ce qui peut affecter les frais de bande passante.While you're debugging, the server is sending data to Visual Studio, which could affect bandwidth charges. Pour plus d'informations sur les tarifs de bande passante, consultez les tarifs Azure.For information about bandwidth rates, see Azure Pricing.
  • Vérifiez que l’attribut debug de l’élément compilation du fichier Web.config est défini sur true.Make sure that the debug attribute of the compilation element in the Web.config file is set to true. Il est défini sur true par défaut lorsque vous publiez une configuration de version de débogage.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>
  • Si le débogueur ne parcourt pas le code que vous voulez déboguer, vous devez modifier le paramètre « Uniquement mon 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. Pour plus d’informations, consultez la section Specify whether to debug only user code using Just My Code in Visual Studio (Déterminer s’il faut déboguer uniquement le code utilisateur via l’option Uniquement mon code dans Visual Studio).For more information, see Specify whether to debug only user code using Just My Code in Visual Studio.
  • Lorsque vous activez la fonctionnalité de débogage à distance, un compteur démarre sur le serveur : après 48 heures, la fonctionnalité est automatiquement désactivée.A timer starts on the server when you enable the remote debugging feature, and after 48 hours the feature is automatically turned off. Cette limite de 48 heures a été définie à des fins de sécurité et de performances.This 48-hour limit is done for security and performance reasons. Vous pouvez facilement réactiver la fonctionnalité autant de fois que nécessaire.You can easily turn the feature back on as many times as you like. Nous vous recommandons de la désactiver lorsque vous n'utilisez pas le débogage.We recommend leaving it disabled when you are not actively debugging.
  • Vous pouvez manuellement connecter le débogueur à n'importe quel processus, et pas seulement au processus de l'application (w3wp.exe).You can manually attach the debugger to any process, not only the app process (w3wp.exe). Pour plus d'informations sur l'utilisation du mode débogage dans Visual Studio, consultez la page Débogage dans Visual Studio.For more information about how to use debug mode in Visual Studio, see Debugging in Visual Studio.

Présentation des journaux de diagnosticDiagnostic logs overview

Une application ASP.NET qui s’exécute dans une application App Service peut créer les types de journaux d’activité suivants :An ASP.NET application that runs in an App Service app can create the following kinds of logs:

  • Journaux d’activité de suivi d’applicationApplication tracing logs
    : l’application crée ces journaux d’activité en appelant des méthodes de la classe System.Diagnostics.Trace .The application creates these logs by calling methods of the System.Diagnostics.Trace class.
  • Journaux d’activité des serveurs webWeb server logs
     : le serveur web crée une entrée de journal pour chaque requête HTTP à destination de l'application.The web server creates a log entry for every HTTP request to the app.
  • Journaux d’activité détaillés des messages d’erreurDetailed error message logs
     : le serveur Web crée une page HTML contenant certaines informations supplémentaires pour les requêtes HTTP ayant échoué (celles dont le code d’état est 400 ou plus).The web server creates an HTML page with some additional information for failed HTTP requests (requests that result in status code 400 or greater).
  • Journaux d’activité de suivi de demandes ayant échouéFailed request tracing logs
     : le serveur Web crée un fichier XML avec des informations de suivi détaillées pour les requêtes HTTP ayant échoué.The web server creates an XML file with detailed tracing information for failed HTTP requests. Le serveur Web fournit également un fichier XSL pour mettre en forme le XML dans un navigateur.The web server also provides an XSL file to format the XML in a browser.

La fonction de journalisation affecte les performances des applications. Pour cette raison, Azure vous offre la possibilité d'activer ou de désactiver chaque type de journal, selon vos besoins.Logging affects app performance, so Azure gives you the ability to enable or disable each type of log as needed. Vous pouvez définir un niveau minimal de gravité pour l’écriture des journaux d’activité d’application.For application logs, you can specify that only logs above a certain severity level should be written. Lorsque vous créez une application, la fonction de journalisation est désactivée par défaut.When you create a new app, by default all logging is disabled.

Les journaux d’activité sont consignés dans des fichiers du dossier LogFiles, au sein du système de fichiers de votre application, et ils sont accessibles par FTP.Logs are written to files in a LogFiles folder in the file system of your app and are accessible via FTP. Il est également possible d’écrire les journaux d’activité de serveur Web et d’application dans un compte Azure Storage.Web server logs and application logs can also be written to an Azure Storage account. Vous pouvez conserver davantage de journaux d’activité sur un compte de stockage que sur le système de fichiers.You can retain a greater volume of logs in a storage account than is possible in the file system. Le système de fichiers peut conserver jusqu’à 100 Mo de journaux d’activitéYou're limited to a maximum of 100 megabytes of logs when you use the file system. (il ne conserve pas les journaux d’activité très longtemps :(File system logs are only for short-term retention. Azure libère de l'espace pour les nouveaux fichiers journaux en supprimant les anciens une fois la limite atteinte).Azure deletes old log files to make room for new ones after the limit is reached.)

Création et affichage des journaux de suivi d’applicationCreate and view application trace logs

Dans cette section, vous effectuerez les tâches suivantes :In this section, you do the following tasks:

  • ajout d’instructions de traçage au projet web que vous avez créé dans Prise en main d’Azure et ASP.NET.Add tracing statements to the web project that you created in Get started with Azure and ASP.NET.
  • affichage des journaux d’activité lorsque vous exécutez le projet localement ;View the logs when you run the project locally.
  • affichage des journaux d’activité durant leur génération par l’application exécutée dans Azure.View the logs as they are generated by the application running in Azure.

Pour plus d’informations sur la création de journaux d’activité d’application dans WebJobs, consultez Utilisation du stockage de file d’attente Microsoft Azure avec le Kit de développement logiciel (SDK) de WebJobs - Écriture de journaux d’activité.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. Les instructions suivantes permettant d’afficher les journaux d’activité et de contrôler la façon dont ils sont stockés dans Azure s’appliquent également aux journaux des applications créés par WebJobs.The following instructions for viewing logs and controlling how they're stored in Azure apply also to application logs created by WebJobs.

Ajout d'instructions de suivi à l'applicationAdd tracing statements to the application

  1. Ouvrez Controllers\HomeController.cs, puis remplacez les méthodes Index, About et Contact par le code suivant afin d’ajouter les instructions Trace et une instruction using pour 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();
}        
  1. Ajoutez une instruction using System.Diagnostics; en haut du fichier.Add a using System.Diagnostics; statement to the top of the file.

Affichage de la sortie de suivi en localView the tracing output locally

  1. Appuyez sur F5 pour exécuter l'application en mode débogage.Press F5 to run the application in debug mode.

    L'écouteur de suivi par défaut écrit toutes les sorties de suivi dans la fenêtre Sortie , avec d'autres sorties de débogage.The default trace listener writes all trace output to the Output window, along with other Debug output. L’image suivante montre la sortie des instructions de suivi ajoutées à la méthode Index .The following illustration shows the output from the trace statements that you added to the Index method.

    Suivi dans la fenêtre Débogage

    La procédure suivante montre comment afficher la sortie de suivi dans une page Web, sans procéder à la compilation en mode de débogage.The following steps show how to view trace output in a web page, without compiling in debug mode.

  2. Ouvrez le fichier Web.config de l'application (celui situé dans le dossier de projet), puis ajoutez un élément <system.diagnostics> à la fin du fichier, juste avant l'élément de fermeture </configuration> :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>

L’élément WebPageTraceListener vous permet d’afficher la sortie de suivi en accédant à /trace.axd.The WebPageTraceListener lets you view trace output by browsing to /trace.axd.

  1. Ajoutez un élément de suivi sous <system.web> dans le fichier Web.config, comme dans l’exemple suivant :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" />
  1. Appuyez sur Ctrl+F5 pour exécuter l’application.Press CTRL+F5 to run the application.

  2. Dans la barre d’adresses de la fenêtre du navigateur, ajoutez trace.axd à l’URL, puis appuyez sur entrée (l’URL est similaire à 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).

  3. Sur la page Suivi d’application, cliquez sur Afficher les détails sur la première ligne (pas la ligne BrowserLink).On the Application Trace page, click View Details on the first line (not the BrowserLink line).

    trace.axd

    La page Détails de la demande s’affiche et la section Informations de suivi affiche la sortie des instructions de suivi ajoutées à la méthode 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

    Par défaut, trace.axd est uniquement disponible localement.By default, trace.axd is only available locally. Si vous souhaitez le rendre disponible à partir d'une application distante, vous pouvez ajouter localOnly="false" à l'élément trace dans le fichier Web.config, comme le montre l'exemple suivant :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" />
    

    Toutefois, l'activation de trace.axd dans une application de production n'est pas recommandée pour des raisons de sécurité.However, enabling trace.axd in a production app is not recommended for security reasons. Dans les sections suivantes, vous découvrirez une façon plus simple de lire les journaux d’activité de suivi dans une application App Service.In the following sections, you'll see an easier way to read tracing logs in an App Service app.

Affichage de la sortie de suivi dans AzureView the tracing output in Azure

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet web, puis cliquez sur Publier.In Solution Explorer, right-click the web project and click Publish.

  2. Dans la boîte de dialogue Publier le site Web, cliquez sur Publier.In the Publish Web dialog box, click Publish.

    Une fois que Visual Studio a publié votre mise à jour, il ouvre une fenêtre de navigateur vers votre page d’accueil (en partant du principe que vous n’avez pas désactivé la case à cocher URL de destination sous l’onglet Connexion).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. Dans l’Explorateur de serveurs, cliquez avec le bouton droit sur votre application et sélectionnez Afficher les journaux d’activité de diffusion en continu.In Server Explorer, right-click your app and select View Streaming Logs.

    Afficher la diffusion de journaux d’activité en continu dans le menu contextuel

    La fenêtre Sortie indique que vous êtes connecté au service de diffusion de journaux en continu et ajoute une ligne de notification à chaque minute passée sans affichage de journal.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.

    Afficher la diffusion de journaux d’activité en continu dans le menu contextuel

  4. Dans la fenêtre du navigateur qui affiche la page d'accueil de votre application, cliquez sur Contacter.In the browser window that shows your application home page, click Contact.

    En quelques secondes, la sortie du suivi de l’erreur que vous avez ajouté à la méthode Contact apparaît dans la fenêtre Sortie.Within a few seconds, the output from the error-level trace you added to the Contact method appears in the Output window.

    Suivi d'erreur dans la fenêtre Sortie

    Visual Studio affiche uniquement le suivi des erreurs, car il s'agit du paramètre par défaut lorsque vous activez le service de surveillance des journaux.Visual Studio is only showing error-level traces because that is the default setting when you enable the log monitoring service. Lorsque vous créez une application App Service, la journalisation est désactivée par défaut, comme vous l'avez vu lorsque vous avez ouvert la page Paramètres un peu plus tôt :When you create a new App Service app, all logging is disabled by default, as you saw when you opened the settings page earlier:

    Journalisation d'application désactivée

    Cependant, lorsque vous avez sélectionné Afficher les journaux d’activité de streaming, Visual Studio a automatiquement remplacé Journal des applications (système de fichiers) par Erreur, ce qui signifie que les journaux d’activité d’erreur sont signalés.However, when you selected View Streaming Logs, Visual Studio automatically changed Application Logging(File System) to Error, which means error-level logs get reported. Pour afficher tous vos journaux d’activité de suivi, vous pouvez remplacer ce paramètre par Commentaires.In order to see all of your tracing logs, you can change this setting to Verbose. Lorsque vous sélectionnez un niveau de gravité inférieur à l’erreur, tous les journaux d’activité correspondant aux niveaux de gravité supérieurs sont également signalés.When you select a severity level lower than error, all logs for higher severity levels are also reported. Donc, lorsque vous sélectionnez Commentaires, vous pouvez également consulter des informations, des avertissements et des journaux d’activité d’erreurs.So when you select verbose, you also see information, warning, and error logs.

  5. Dans l'Explorateur de serveurs, cliquez avec le bouton droit sur l'application, puis cliquez sur Afficher les paramètres, comme vous l'avez fait précédemment.In Server Explorer, right-click the app, and then click View Settings as you did earlier.

  6. Remplacez Journal des applications (Filesystem) par Commentaires, puis cliquez sur Enregistrer.Change Application Logging (File System) to Verbose, and then click Save.

    Définir le niveau de suivi sur Commentaires

  7. Dans la fenêtre du navigateur affichant votre page Contact, cliquez sur Accueil, sur À propos de, puis sur Contact.In the browser window that is now showing your Contact page, click Home, then click About, and then click Contact.

    Quelques secondes après, la fenêtre Sortie affiche toutes vos sorties de suivi.Within a few seconds, the Output window shows all of your tracing output.

    Sortie de suivi des commentaires

    Dans cette section, vous avez activé et désactivé la journalisation à l'aide des paramètres d'application.In this section, you enabled and disabled logging by using app settings. Vous pouvez également activer et désactiver les écouteurs de suivi en modifiant le fichier Web.config.You can also enable and disable trace listeners by modifying the Web.config file. Toutefois, le fait de modifier le fichier Web.config entraîne le recyclage du domaine d'application, ce que ne fait pas l'activation de la journalisation via la configuration de l'application.However, modifying the Web.config file causes the app domain to recycle, while enabling logging via the app configuration doesn't do that. Si le problème met du temps à se reproduire ou s'il est intermittent, le recyclage du domaine d'application peut le « résoudre » temporairement et vous forcer à attendre qu'il se reproduise.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. L’activation des diagnostics dans Azure vous permet de commencer tout de suite à saisir des informations sur une erreur sans recyclage du domaine d’application.Enabling diagnostics in Azure lets you start capturing error information immediately without recycling the app domain.

Fonctionnalités de la fenêtre SortieOutput window features

L’onglet Journaux d’activité Microsoft Azure de la fenêtre Sortie contient plusieurs boutons et une zone de texte :The Microsoft Azure Logs tab of the Output Window has several buttons and a text box:

Boutons de l’onglet Journaux d’activité

Ces éléments permettent d'effectuer les opérations suivantes :These perform the following functions:

  • Suppression du contenu de la fenêtre SortieClear the Output window.
  • Activation ou désactivation du retour automatique à la ligneEnable or disable word wrap.
  • Démarrage ou arrêt de la supervision des journaux d’activitéStart or stop monitoring logs.
  • Sélection des journaux d’activité à surveillerSpecify which logs to monitor.
  • Téléchargement de journaux d’activitéDownload logs.
  • Filtrage des journaux d’activité en fonction d’une chaîne de recherche ou d’une expression régulièreFilter logs based on a search string or a regular expression.
  • Fermeture de la fenêtre SortieClose the Output window.

Si vous entrez une chaîne de recherche ou une expression régulière, Visual Studio filtre les informations de journalisation au niveau du client.If you enter a search string or regular expression, Visual Studio filters logging information at the client. Cela signifie que vous pouvez entrer les critères après l’affichage des journaux d’activité dans la fenêtre Sortie et que vous pouvez modifier les critères de filtrage sans avoir à régénérer les journaux d’activité.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.

Affichage des journaux de serveur WebView web server logs

Les journaux d’activité de serveur Web enregistrent toutes les activités HTTP de l’application.Web server logs record all HTTP activity for the app. Afin de pouvoir afficher ces journaux dans la fenêtre Sortie, vous devez les activer pour l'application et indiquer à Visual Studio que vous souhaitez les surveiller.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. Dans l’onglet Configuration de l’application web Azure que vous avez ouvert à partir de l’Explorateur de serveurs, remplacez la valeur du paramètre Journalisation du serveur web par Activé, puis cliquez sur Enregistrer.In the Azure Web App Configuration tab that you opened from Server Explorer, change Web Server Logging to On, and then click Save.

    Activer la journalisation de serveur Web

  2. Dans la fenêtre Sortie, cliquez sur le bouton Spécifier les journaux d’activité Microsoft Azure à surveiller.In the Output Window, click the Specify which Microsoft Azure logs to monitor button.

    Sélection des journaux d’activité Azure à surveiller

  3. Dans la boîte de dialogue Options de journalisation Microsoft Azure, sélectionnez Journaux d’activité du serveur web, puis cliquez sur OK.In the Microsoft Azure Logging Options dialog box, select Web server logs, and then click OK.

    Surveiller les journaux d’activité de serveur Web

  4. Dans la fenêtre du navigateur qui affiche l'application, cliquez sur Accueil, À propos de, puis Contact.In the browser window that shows the app, click Home, then click About, and then click Contact.

    Généralement, les journaux d’activité d’application s’affichent en premier, suivis par les journaux d’activité de serveur Web.The application logs generally appear first, followed by the web server logs. Le processus d’affichage peut prendre un certain temps.You might have to wait a while for the logs to appear.

    Journaux d’activité de serveur Web dans la fenêtre Sortie

Par défaut, Azure écrit les journaux d’activité dans le système de fichiers lorsque vous activez les journaux d’activité de serveur Web en utilisant Visual Studio.By default, when you first enable web server logs by using Visual Studio, Azure writes the logs to the file system. Une autre méthode consiste à utiliser le portail Azure pour indiquer que les journaux d’activité de serveur web doivent être écrits sur un conteneur d’objets blob dans un compte de stockage.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.

Si vous utilisez le portail pour activer la journalisation de serveur web sur un compte de stockage Azure, puis désactivez la journalisation dans Visual Studio, les paramètres de votre compte de stockage sont restaurés lorsque vous réactivez la journalisation dans Visual Studio.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.

Affichage des journaux de messages d’erreur détaillésView detailed error message logs

Les journaux d’activité d’erreur détaillés fournissent des informations supplémentaires sur les requêtes HTTP ayant pour résultat des codes de réponse d’erreur (400 ou au-delà).Detailed error logs provide some additional information about HTTP requests that result in error response codes (400 or above). Afin de pouvoir afficher ces journaux dans la fenêtre Sortie , vous devez les activer pour l'application et indiquer à Visual Studio que vous souhaitez les surveiller.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. Dans l’onglet Configuration de l’application web Azure que vous avez ouvert à partir de l’Explorateur de serveurs, remplacez la valeur du paramètre Messages d’erreur détaillés par Activé, puis cliquez sur Enregistrer.In the Azure Web App Configuration tab that you opened from Server Explorer, change Detailed Error Messages to On, and then click Save.

    Activer les messages d'erreur détaillés

  2. Dans la fenêtre Sortie, cliquez sur le bouton Spécifier les journaux d’activité Microsoft Azure à surveiller.In the Output Window, click the Specify which Microsoft Azure logs to monitor button.

  3. Dans la boîte de dialogue Options de journalisation Microsoft Azure, cliquez sur Tous les journaux d’activité, puis sur OK.In the Microsoft Azure Logging Options dialog box, click All logs, and then click OK.

    Surveiller tous les journaux d’activité

  4. Dans la barre d’adresse de la fenêtre de navigateur, ajoutez un caractère supplémentaire à l’URL pour provoquer une erreur 404 (par exemple, http://localhost:53370/Home/Contactx) et appuyez sur Entrée.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.

    Après quelques secondes, le journal des erreurs détaillé s’affiche dans la fenêtre Sortie de Visual Studio.After several seconds, the detailed error log appears in the Visual Studio Output window.

    Journal des erreurs détaillé - fenêtre Sortie

    Maintenez la touche Ctrl appuyée tout en cliquant sur le lien pour afficher le journal de sortie mis en forme dans un navigateur :Control+click the link to see the log output formatted in a browser:

    Journal des erreurs détaillé - fenêtre du navigateur

Téléchargement de journaux du système de fichiersDownload file system logs

Tous les journaux d’activité que vous pouvez surveiller dans la fenêtre Sortie peuvent aussi être téléchargés en tant que fichiers .zip .Any logs that you can monitor in the Output window can also be downloaded as a .zip file.

  1. Dans la fenêtre Sortie, cliquez sur Télécharger les journaux d’activité de diffusion en continu.In the Output window, click Download Streaming Logs.

    Boutons de l’onglet Journaux d’activité

    L'Explorateur de fichiers ouvre votre dossier Téléchargements dans lequel le fichier téléchargé est sélectionné.File Explorer opens to your Downloads folder with the downloaded file selected.

    Fichier téléchargé

  2. Procédez à l'extraction du fichier .zip pour afficher la structure de dossiers suivante :Extract the .zip file, and you see the following folder structure:

    Fichier téléchargé

    • Les journaux d’activité de suivi d’application sont dans des fichiers .txt dans le dossier LogFiles\Application.Application tracing logs are in .txt files in the LogFiles\Application folder.

    • Les journaux d’activité de serveur web sont dans des fichiers .log dans le dossier LogFiles\http\RawLogs.Web server logs are in .log files in the LogFiles\http\RawLogs folder. Vous pouvez utiliser un outil tel que Log Parser pour afficher et manipuler ces fichiers.You can use a tool such as Log Parser to view and manipulate these files.

    • Les journaux d’activité de messages d’erreur détaillés sont dans des fichiers .html dans le dossier LogFiles\DetailedErrors.Detailed error message logs are in .html files in the LogFiles\DetailedErrors folder.

      Le dossier deployments contient les fichiers créés par la publication à partir du contrôle de code source : il n'a rien à voir avec la publication Visual Studio.(The deployments folder is for files created by source control publishing; it doesn't have anything related to Visual Studio publishing. Le dossier Git contient le suivi lié à la publication à partir du contrôle de code source et au service de diffusion de fichier journal en continu.The Git folder is for traces related to source control publishing and the log file streaming service.)

Affichage des journaux de suivi de demandes ayant échouéView failed request tracing logs

Les journaux d’activité de suivi de demandes ayant échoué sont utiles pour comprendre les détails de gestion IIS d’une requête HTTP, dans des scénarios tels que des problèmes de réécriture d’URL ou d’authentification.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.

Les applications App Service utilisent la même fonctionnalité de suivi de demandes ayant échoué que celle que proposait IIS 7.0 et versions ultérieures.App Service apps use the same failed request tracing functionality that has been available with IIS 7.0 and later. Cependant, vous ne pouvez pas accéder aux paramètres IIS permettant de configurer les erreurs à journaliser.You don't have access to the IIS settings that configure which errors get logged, however. Lorsque vous activez le suivi des demandes ayant échoué, toutes les erreurs sont récupérées.When you enable failed request tracing, all errors are captured.

Vous pouvez activer le suivi des demandes ayant échoué en utilisant Visual Studio, mais vous ne pouvez pas les afficher dans Visual Studio.You can enable failed request tracing by using Visual Studio, but you can't view them in Visual Studio. Ces journaux d’activité sont des fichiers XML.These logs are XML files. Le service de journaux de streaming surveille uniquement les fichiers jugés lisibles en mode texte brut : fichiers .txt, .html et .log.The streaming log service only monitors files that are deemed readable in plain text mode: .txt, .html, and .log files.

Vous pouvez afficher les journaux d’activité de suivi des demandes ayant échoué directement dans un navigateur via FTP ou en local, après avoir utilisé un outil FTP pour les télécharger sur votre ordinateur local.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. Dans cette section, nous les afficherons directement dans un navigateur.In this section, you'll view them in a browser directly.

  1. Dans l’onglet Configuration de la fenêtre Application web Microsoft Azure que vous avez ouverte à partir de l’Explorateur de serveurs, remplacez la valeur du paramètre Suivi des demandes ayant échoué par Activé, puis cliquez sur Enregistrer.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.

    Activer le suivi des demandes ayant échoué

  2. Sur la barre d'adresses de la fenêtre de navigateur qui affiche l'application, ajoutez un caractère supplémentaire à l'URL et appuyez sur Entrée pour provoquer une erreur 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.

    Ceci génère un journal de suivi des demandes ayant échoué. La procédure suivante vous montre comment afficher ou télécharger ce journal.This causes a failed request tracing log to be created, and the following steps show how to view or download the log.

  3. Dans l’onglet Configuration de la fenêtre Application web Microsoft Azure de Visual Studio, cliquez sur Ouvrir l’élément dans le portail de gestion.In Visual Studio, in the Configuration tab of the Azure Web App window, click Open in Management Portal.

  4. Sur le portail Azure (page Paramètres) de votre application, cliquez sur Informations d'identification du déploiement, puis entrez un nouveau nom d'utilisateur et un nouveau mot de passe.In the Azure portal Settings page for your app, click Deployment credentials, and then enter a new user name and password.

    Nouveaux nom d'utilisateur et mot de passe FTP

    Notes

    Lorsque vous vous connectez, vous devez utiliser le nom d'utilisateur complet, avec pour préfixe le nom de l'application.When you log in, you have to use the full user name with the app name prefixed to it. Par exemple, si vous entrez « monid » comme nom d’utilisateur et si le site est « monexemple », vous vous connectez en tant que « monexemple\monid ».For example, if you enter "myid" as a user name and the site is "myexample", you log in as "myexample\myid".

  5. Dans une nouvelle fenêtre de navigateur, accédez à l'URL affichée sous Nom d'hôte FTP ou Nom d'hôte FTPS sur la page Vue d'ensemble de votre application.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. Connectez-vous en utilisant les informations d'identification FTP que vous avez créées précédemment (nom d'utilisateur incluant le nom de l'application en tant que préfixe).Log in using the FTP credentials that you created earlier (including the app name prefix for the user name).

    Le navigateur affiche le dossier racine de l'application.The browser shows the root folder of the app.

  7. Ouvrez le fichier LogFiles .Open the LogFiles folder.

    Ouvrir le dossier LogFiles

  8. Ouvrez le dossier nommé W3SVC avec une valeur numérique.Open the folder that is named W3SVC plus a numeric value.

    Ouvrir le dossier W3SVC

    Ce dossier contient des fichiers XML pour plusieurs erreurs journalisées une fois le suivi des demandes ayant échoué activé, ainsi qu'un fichier XSL utilisable par un navigateur pour mettre en forme les fichiers 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.

    Dossier W3SVC

  9. Cliquez sur le fichier XML de la demande ayant échoué dont vous voulez consulter les informations de suivi.Click the XML file for the failed request that you want to see tracing information for.

    L'image suivante montre une partie des informations de suivi d'un exemple d'erreur.The following illustration shows part of the tracing information for a sample error.

    Suivi d'une demande ayant échoué dans le navigateur

Étapes suivantesNext Steps

Vous avez vu en quoi Visual Studio facilite l’affichage des journaux d’activité créés par une application App Service.You've seen how Visual Studio makes it easy to view logs created by an App Service app. Les sections suivantes fournissent des liens vers des ressources supplémentaires sur des rubriques connexes :The following sections provide links to more resources on related topics:

  • Résolution des problèmes App ServiceApp Service troubleshooting
  • Débogage dans Visual StudioDebugging in Visual Studio
  • Débogage distant dans AzureRemote debugging in Azure
  • Suivi dans les applications ASP.NETTracing in ASP.NET applications
  • Analyse de journaux d’activité de serveur WebAnalyzing web server logs
  • Analyse des journaux d’activité de suivi des demandes ayant échouéAnalyzing failed request tracing logs
  • Débogage de Cloud ServicesDebugging Cloud Services

Résolution des problèmes App ServiceApp Service troubleshooting

Pour en savoir plus sur la résolution des problèmes liés aux applications dans Azure App Service, consultez les ressources suivantes :For more information about troubleshooting apps in Azure App Service, see the following resources:

Pour obtenir des réponses sur une question relative à la résolution des problèmes, ouvrez un fil de discussion dans l'un des forums suivants :For help with a specific troubleshooting question, start a thread in one of the following forums:

Débogage dans Visual StudioDebugging in Visual Studio

Pour plus d’informations sur l’utilisation du mode débogage dans Visual Studio, consultez Débogage dans Visual Studio, puis Conseils de débogage avec 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.

Débogage distant dans AzureRemote debugging in Azure

Pour en savoir plus sur le débogage à distance des applications App Service et des tâches web, consultez les ressources suivantes :For more information about remote debugging for App Service apps and WebJobs, see the following resources:

Si votre application utilise une API Web Azure ou un système principal Mobile Services qu'il vous faut déboguer, consultez l'article Débogage du serveur principal .NET dans 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.

Suivi dans les applications ASP.NETTracing in ASP.NET applications

Il n'y a pas d'autre présentation du suivi ASP.NET plus détaillée et actualisée disponible sur Internet.There are no thorough and up-to-date introductions to ASP.NET tracing available on the Internet. Nous vous conseillons de commencer par consulter les anciens documents de présentation rédigés pour Web Forms, car MVC n'existait pas encore, et de compléter cela en consultant les billets de blog les plus récents traitant de problèmes plus précis.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. Les ressources suivantes constituent un bon début :Some good places to start are the following resources:

try
{
   // Your code that might cause an exception to be thrown.
}
catch (Exception ex)
{
    Trace.TraceError("Exception: " + ex.ToString());
    throw;
}

Pour la journalisation d'erreurs, vous pouvez éviter d'avoir à écrire votre propre code de suivi en utilisant un Framework de journalisation Open Source comme ELMAH.For error logging, an alternative to writing your own tracing code is to use an open-source logging framework such as ELMAH. Pour plus d'informations, consultez les billets du blog de Scott Hanselman sur ELMAH.For more information, see Scott Hanselman's blog posts about ELMAH.

En outre, vous n’avez pas besoin d’utiliser ASP.NET ou le suivi System.Diagnostics pour obtenir les journaux d’activité de streaming à partir d’Azure.Also, you don't need to use ASP.NET or System.Diagnostics tracing to get streaming logs from Azure. Le service de journaux de diffusion en continu de l'application App Service diffuse tous les fichiers .txt, .html ou .log qu'il trouve dans le dossier LogFiles.The App Service app streaming log service streams any .txt, .html, or .log file that it finds in the LogFiles folder. Par conséquent, vous pouvez créer votre propre système de journalisation, qui écrit des données dans le système de fichiers de l'application ; votre fichier est automatiquement diffusé en continu et téléchargé.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. Tout ce que vous avez à faire est d’écrire un code d’application qui crée les fichiers dans le dossier d:\home\logfiles.All you have to do is write application code that creates files in the d:\home\logfiles folder.

Analyse de journaux d’activité de serveur WebAnalyzing web server logs

Pour plus d’informations sur l’analyse des journaux d’activité de serveur Web, consultez les ressources suivantes :For more information about analyzing web server logs, see the following resources:

Analyse des journaux d’activité de suivi des demandes ayant échouéAnalyzing failed request tracing logs

Le site web Microsoft TechNet comporte une section Utilisation du suivi des demandes ayant échoué qui permet de comprendre l’utilisation de ces journaux d’activité.The Microsoft TechNet website includes a Using Failed Request Tracing section, which may be helpful for understanding how to use these logs. Toutefois, cette documentation se concentre principalement sur la configuration du suivi des demandes ayant échoué dans IIS, ce que vous ne pouvez pas faire dans Azure App Service.However, this documentation focuses mainly on configuring failed request tracing in IIS, which you can't do in Azure App Service.