Résoudre les problèmes liés à ASP.NET Core sur Azure App ServiceTroubleshoot ASP.NET Core on Azure App Service

Par Luke LathamBy Luke Latham

Important

Préversions d’ASP.NET Core avec Azure App ServiceASP.NET Core preview releases with Azure App Service

Les préversions d’ASP.NET Core ne sont pas déployées sur Azure App Service par défaut.ASP.NET Core preview releases aren't deployed to Azure App Service by default. Pour héberger une application qui utilise une préversion d’ASP.NET Core, consultez Déployer la préversion d’ASP.NET Core sur Azure App Service.To host an app that uses an ASP.NET Core preview release, see Deploy ASP.NET Core preview release to Azure App Service.

Cet article donne des instructions pour diagnostiquer un problème de démarrage de l’application ASP.NET Core avec les outils de diagnostic d’Azure App Service.This article provides instructions on how to diagnose an ASP.NET Core app startup issue using Azure App Service's diagnostic tools. Pour obtenir des conseils de dépannage supplémentaires, consultez Vue d’ensemble des diagnostics Azure App Service et Comment : Surveiller des applications dans Azure App Service dans la documentation Azure.For additional troubleshooting advice, see Azure App Service diagnostics overview and How to: Monitor Apps in Azure App Service in the Azure documentation.

Erreurs de démarrage de l’applicationApp startup errors

Échec de processus 502.5 Le processus de travail échoue.502.5 Process Failure The worker process fails. L’application ne démarre pas.The app doesn't start.

Le module ASP.NET Core tente, en vain, de démarrer le processus de travail.The ASP.NET Core Module attempts to start the worker process but it fails to start. Un examen du Journal des événements de l’application permet souvent de résoudre ce type de problème.Examining the Application Event Log often helps troubleshoot this type of problem. L’accès au journal est expliqué dans la section Journal des événements de l’application.Accessing the log is explained in the Application Event Log section.

La page d’erreur Échec de processus 502.5 est retournée quand une application mal configurée provoque l’échec du processus de travail :The 502.5 Process Failure error page is returned when a misconfigured app causes the worker process to fail:

Fenêtre de navigateur affichant la page d’échec de processus 502.5

Erreur de serveur interne 500500 Internal Server Error

L’application démarre, mais une erreur empêche le serveur de répondre à la requête.The app starts, but an error prevents the server from fulfilling the request.

Cette erreur se produit dans le code de l’application pendant le démarrage ou durant la création d’une réponse.This error occurs within the app's code during startup or while creating a response. La réponse peut être dépourvue de contenu ou apparaître sous la forme d’une erreur de serveur interne 500 dans le navigateur.The response may contain no content, or the response may appear as a 500 Internal Server Error in the browser. Le Journal des événements de l’application indique généralement qu’elle a démarré normalement.The Application Event Log usually states that the app started normally. Du point de vue du serveur, c’est exact.From the server's perspective, that's correct. L’application a démarré, mais elle ne parvient pas à générer une réponse valide.The app did start, but it can't generate a valid response. Exécutez l’application dans la console Kudu ou activez le journal stdout du module ASP.NET Core pour résoudre le problème.Run the app in the Kudu console or enable the ASP.NET Core Module stdout log to troubleshoot the problem.

500.30 - Échec du démarrage in-process500.30 In-Process Startup Failure

Le processus de travail échoue.The worker process fails. L’application ne démarre pas.The app doesn't start.

Le module ASP.NET Core tente, en vain, de démarrer le CLR .NET Core in-process.The ASP.NET Core Module attempts to start the .NET Core CLR in-process, but it fails to start. Vous pouvez généralement déterminer la cause d’un échec de démarrage de processus à partir des entrées du Journal des événements de l’application et du journal stdout du module ASP.NET Core.The cause of a process startup failure is usually determined from entries in the Application Event Log and the ASP.NET Core Module stdout log.

500.31 - Échec de la recherche de dépendances natives par ANCM500.31 ANCM Failed to Find Native Dependencies

Le processus de travail échoue.The worker process fails. L’application ne démarre pas.The app doesn't start.

Le module ASP.NET Core tente de démarrer le runtime .NET Core in-process, mais sans succès.The ASP.NET Core Module attempts to start the .NET Core runtime in-process, but it fails to start. La cause la plus courante de cet échec de démarrage est liée à la non-installation du runtime Microsoft.NETCore.App ou Microsoft.AspNetCore.App.The most common cause of this startup failure is when the Microsoft.NETCore.App or Microsoft.AspNetCore.App runtime isn't installed. Si l’application est déployée pour cibler ASP.NET Core 3.0, et si cette version n’existe pas sur la machine, cette erreur se produit.If the app is deployed to target ASP.NET Core 3.0 and that version doesn't exist on the machine, this error occurs. Voici un exemple de message d’erreur :An example error message follows:

The specified framework 'Microsoft.NETCore.App', version '3.0.0' was not found.
  - The following frameworks were found:
      2.2.1 at [C:\Program Files\dotnet\x64\shared\Microsoft.NETCore.App]
      3.0.0-preview5-27626-15 at [C:\Program Files\dotnet\x64\shared\Microsoft.NETCore.App]
      3.0.0-preview6-27713-13 at [C:\Program Files\dotnet\x64\shared\Microsoft.NETCore.App]
      3.0.0-preview6-27714-15 at [C:\Program Files\dotnet\x64\shared\Microsoft.NETCore.App]
      3.0.0-preview6-27723-08 at [C:\Program Files\dotnet\x64\shared\Microsoft.NETCore.App]

Le message d’erreur liste toutes les versions installées de .NET Core ainsi que la version demandée par l’application.The error message lists all the installed .NET Core versions and the version requested by the app. Pour corriger cette erreur, vous avez le choix entre plusieurs possibilités :To fix this error, either:

  • Installez la version appropriée de .NET Core sur la machine.Install the appropriate version of .NET Core on the machine.
  • Changez l’application pour cibler une version de .NET Core présente sur la machine.Change the app to target a version of .NET Core that's present on the machine.
  • Publiez l’application sous forme de déploiement autonome.Publish the app as a self-contained deployment.

Durant l’exécution en phase de développement (la variable d’environnement ASPNETCORE_ENVIRONMENT a la valeur Development), l’erreur spécifique est écrite dans la réponse HTTP.When running in development (the ASPNETCORE_ENVIRONMENT environment variable is set to Development), the specific error is written to the HTTP response. La cause d’un échec de démarrage du processus se trouve également dans le Journal des événements de l’application.The cause of a process startup failure is also found in the Application Event Log.

500.32 - Échec du chargement de la dll par ANCM500.32 ANCM Failed to Load dll

Le processus de travail échoue.The worker process fails. L’application ne démarre pas.The app doesn't start.

Le plus souvent, cette erreur provient du fait que l’application est publiée pour une architecture de processeur incompatible.The most common cause for this error is that the app is published for an incompatible processor architecture. Si le processus de travail s’exécute en tant qu’application 32 bits et si l’application a été publiée pour cibler une architecture 64 bits, cette erreur se produit.If the worker process is running as a 32-bit app and the app was published to target 64-bit, this error occurs.

Pour corriger cette erreur, vous avez le choix entre plusieurs possibilités :To fix this error, either:

500.33 - Échec du chargement du gestionnaire de requêtes ANCM500.33 ANCM Request Handler Load Failure

Le processus de travail échoue.The worker process fails. L’application ne démarre pas.The app doesn't start.

L’application n’a pas référencé le framework Microsoft.AspNetCore.App.The app didn't reference the Microsoft.AspNetCore.App framework. Seules les applications ciblant le framework Microsoft.AspNetCore.App peuvent être hébergées par le module ASP.NET Core.Only apps targeting the Microsoft.AspNetCore.App framework can be hosted by the ASP.NET Core Module.

Pour corriger cette erreur, vérifiez que l’application cible le framework Microsoft.AspNetCore.App.To fix this error, confirm that the app is targeting the Microsoft.AspNetCore.App framework. Examinez le fichier .runtimeconfig.json pour vérifier le framework ciblé par l’application.Check the .runtimeconfig.json to verify the framework targeted by the app.

500.34 - Modèles d’hébergement mixtes ANCM non pris en charge500.34 ANCM Mixed Hosting Models Not Supported

Le processus de travail ne peut pas exécuter à la fois une application in-process et une application out-of-process dans le même processus.The worker process can't run both an in-process app and an out-of-process app in the same process.

Pour corriger cette erreur, exécutez les applications dans des pools d’applications IIS distincts.To fix this error, run apps in separate IIS application pools.

500.35 - Applications in-process multiples dans le même processus ANCM500.35 ANCM Multiple In-Process Applications in same Process

Le processus de travail ne peut pas exécuter à la fois une application in-process et une application out-of-process dans le même processus.The worker process can't run both an in-process app and an out-of-process app in the same process.

Pour corriger cette erreur, exécutez les applications dans des pools d’applications IIS distincts.To fix this error, run apps in separate IIS application pools.

500.36 - Échec de chargement du gestionnaire out-of-process ANCM500.36 ANCM Out-Of-Process Handler Load Failure

Le gestionnaire de requêtes out-of-process, aspnetcorev2_outofprocess.dll, ne se trouve pas aux côtés du fichier aspnetcorev2.dll.The out-of-process request handler, aspnetcorev2_outofprocess.dll, isn't next to the aspnetcorev2.dll file. Cela indique une installation endommagée du module ASP.NET Core.This indicates a corrupted installation of the ASP.NET Core Module.

Pour corriger cette erreur, réparez l’installation du bundle d’hébergement .NET Core (pour IIS) ou Visual Studio (pour IIS Express).To fix this error, repair the installation of the .NET Core Hosting Bundle (for IIS) or Visual Studio (for IIS Express).

500.37 - Échec du démarrage d’ANCM dans le délai imparti500.37 ANCM Failed to Start Within Startup Time Limit

ANCM n’a pas pu démarrer dans le délai imparti spécifié.ANCM failed to start within the provied startup time limit. Par défaut, le délai d’expiration est de 120 secondes.By default, the timeout is 120 seconds.

Cette erreur peut se produire quand un grand nombre d’applications démarrent sur la même machine.This error can occur when starting a large number of apps on the same machine. Recherchez les pics d’utilisation du processeur/de la mémoire sur le serveur durant le démarrage.Check for CPU/Memory usage spikes on the server during startup. Vous devrez peut-être décaler le processus de démarrage de plusieurs applications.You may need to stagger the startup process of multiple apps.

500.30 - Échec du démarrage in-process500.30 In-Process Startup Failure

Le processus de travail échoue.The worker process fails. L’application ne démarre pas.The app doesn't start.

Le module ASP.NET Core tente de démarrer le runtime .NET Core in-process, mais sans succès.The ASP.NET Core Module attempts to start the .NET Core runtime in-process, but it fails to start. Vous pouvez généralement déterminer la cause d’un échec de démarrage de processus à partir des entrées du Journal des événements de l’application et du journal stdout du module ASP.NET Core.The cause of a process startup failure is usually determined from entries in the Application Event Log and the ASP.NET Core Module stdout log.

500.0 - Échec de chargement du gestionnaire in-process500.0 In-Process Handler Load Failure

Le processus de travail échoue.The worker process fails. L’application ne démarre pas.The app doesn't start.

La cause d’un échec de démarrage du processus se trouve également dans le Journal des événements de l’application.The cause of a process startup failure is also found in the Application Event Log.

Réinitialisation de la connexionConnection reset

Si une erreur se produit après l’envoi des en-têtes, il est trop tard pour que le serveur puisse envoyer une erreur de serveur interne 500.If an error occurs after the headers are sent, it's too late for the server to send a 500 Internal Server Error when an error occurs. C’est souvent le cas quand une erreur se produit pendant la sérialisation des objets complexes d’une réponse.This often happens when an error occurs during the serialization of complex objects for a response. Ce type d’erreur apparaît en tant qu’erreur de réinitialisation de la connexion sur le client.This type of error appears as a connection reset error on the client. La journalisation des applications peut aider à le résoudre.Application logging can help troubleshoot these types of errors.

Limites de démarrage par défautDefault startup limits

Le module ASP.NET Core est configuré avec une valeur startupTimeLimit par défaut de 120 secondes.The ASP.NET Core Module is configured with a default startupTimeLimit of 120 seconds. Quand cette valeur par défaut est conservée, une application peut mettre jusqu’à deux minutes à démarrer avant que le module ne consigne un échec de processus.When left at the default value, an app may take up to two minutes to start before the module logs a process failure. Pour plus d’informations sur la configuration du module, voir Attributs de l’élément aspNetCore.For information on configuring the module, see Attributes of the aspNetCore element.

Résoudre les erreurs de démarrage des applicationsTroubleshoot app startup errors

Journal des événements de l'applicationApplication Event Log

Pour accéder au Journal des événements de l’application, utilisez le panneau Diagnostiquer et résoudre les problèmes du Portail Azure :To access the Application Event Log, use the Diagnose and solve problems blade in the Azure portal:

  1. Dans le Portail Azure, ouvrez l’application dans App Services.In the Azure portal, open the app in App Services.
  2. Sélectionnez Diagnostiquer et résoudre les problèmes.Select Diagnose and solve problems.
  3. Sélectionnez le titre Outils de diagnostic.Select the Diagnostic Tools heading.
  4. Sous Outils de support, sélectionnez le bouton Événements d’application.Under Support Tools, select the Application Events button.
  5. Examinez la dernière erreur fournie par l’entrée IIS AspNetCoreModule ou IIS AspNetCoreModule V2 dans la colonne Source.Examine the latest error provided by the IIS AspNetCoreModule or IIS AspNetCoreModule V2 entry in the Source column.

En dehors de la solution consistant à utiliser le panneau Diagnostiquer et résoudre les problèmes, vous pouvez examiner directement le fichier Journal des événements de l’application avec Kudu :An alternative to using the Diagnose and solve problems blade is to examine the Application Event Log file directly using Kudu:

  1. Ouvrez les Outils avancés dans la zone Outils de développement.Open Advanced Tools in the Development Tools area. Sélectionnez le bouton Atteindre→ .Select the Go→ button. La console Kudu s’ouvre dans un nouvel onglet ou une nouvelle fenêtre du navigateur.The Kudu console opens in a new browser tab or window.
  2. Dans la barre de navigation en haut de la page, ouvrez Console de débogage et sélectionnez CMD.Using the navigation bar at the top of the page, open Debug console and select CMD.
  3. Ouvrez le dossier LogFiles.Open the LogFiles folder.
  4. Sélectionnez l’icône en forme de crayon à côté du fichier eventlog.xml.Select the pencil icon next to the eventlog.xml file.
  5. Examinez le journal.Examine the log. Allez en bas du journal pour voir les événements les plus récents.Scroll to the bottom of the log to see the most recent events.

Exécuter l’application dans la console KuduRun the app in the Kudu console

De nombreuses erreurs de démarrage ne produisent pas d’informations utiles dans le Journal des événements de l’application.Many startup errors don't produce useful information in the Application Event Log. Vous pouvez exécuter l’application dans la console d’exécution à distance Kudu pour détecter l’erreur :You can run the app in the Kudu Remote Execution Console to discover the error:

  1. Ouvrez les Outils avancés dans la zone Outils de développement.Open Advanced Tools in the Development Tools area. Sélectionnez le bouton Atteindre→ .Select the Go→ button. La console Kudu s’ouvre dans un nouvel onglet ou une nouvelle fenêtre du navigateur.The Kudu console opens in a new browser tab or window.
  2. Dans la barre de navigation en haut de la page, ouvrez Console de débogage et sélectionnez CMD.Using the navigation bar at the top of the page, open Debug console and select CMD.

Tester une application 32 bits (x86)Test a 32-bit (x86) app

Version actuelleCurrent release
  1. cd d:\home\site\wwwroot
  2. Exécutez l’application :Run the app:

La sortie de console de l’application, affichant toutes les erreurs éventuelles, est transmise à la console Kudu.The console output from the app, showing any errors, is piped to the Kudu console.

Déploiement dépendant du framework sur une préversionFramework-dependent deployment running on a preview release

Installation de l’extension de site du runtime ASP.NET Core {VERSION} (x86) requise.Requires installing the ASP.NET Core {VERSION} (x86) Runtime site extension.

  1. cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x32 ({X.Y} est la version du runtime).cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x32 ({X.Y} is the runtime version)
  2. Exécutez l'application : dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dll.Run the app: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dll

La sortie de console de l’application, affichant toutes les erreurs éventuelles, est transmise à la console Kudu.The console output from the app, showing any errors, is piped to the Kudu console.

Tester une application 64 bits (x64)Test a 64-bit (x64) app

Version actuelleCurrent release

La sortie de console de l’application, affichant toutes les erreurs éventuelles, est transmise à la console Kudu.The console output from the app, showing any errors, is piped to the Kudu console.

Déploiement dépendant du framework sur une préversionFramework-dependent deployment running on a preview release

Installation de l’extension de site du runtime ASP.NET Core {VERSION} (x64) requise.Requires installing the ASP.NET Core {VERSION} (x64) Runtime site extension.

  1. cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64 ({X.Y} est la version du runtime).cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64 ({X.Y} is the runtime version)
  2. Exécutez l'application : dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dll.Run the app: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dll

La sortie de console de l’application, affichant toutes les erreurs éventuelles, est transmise à la console Kudu.The console output from the app, showing any errors, is piped to the Kudu console.

Journal stdout du module ASP.NET CoreASP.NET Core Module stdout log

Le journal stdout du module ASP.NET Core enregistre souvent des messages d’erreur utiles et absents du Journal des événements de l’application.The ASP.NET Core Module stdout log often records useful error messages not found in the Application Event Log. Pour activer et afficher les journaux stdout :To enable and view stdout logs:

  1. Accédez au panneau Diagnostiquer et résoudre les problèmes du Portail Azure.Navigate to the Diagnose and solve problems blade in the Azure portal.
  2. Sous SÉLECTIONNER UNE CATÉGORIE DE PROBLÈME, sélectionnez le bouton Application web en panne.Under SELECT PROBLEM CATEGORY, select the Web App Down button.
  3. Sous Solutions suggérées > Activer la redirection de journaux stdout, sélectionnez le bouton Ouvrir la console Kudu pour modifier web.config.Under Suggested Solutions > Enable Stdout Log Redirection, select the button to Open Kudu Console to edit Web.Config.
  4. Dans la Console de diagnostic Kudu, ouvrez les dossiers sur le chemin d’accès site > wwwroot.In the Kudu Diagnostic Console, open the folders to the path site > wwwroot. Faites défiler la page jusqu’à révéler le fichier web.config en bas de la liste.Scroll down to reveal the web.config file at the bottom of the list.
  5. Cliquez sur l’icône en forme de crayon à côté du fichier web.config.Click the pencil icon next to the web.config file.
  6. Définissez stdoutLogEnabled sur true et remplacez le chemin stdoutLogFile par : \\?\%home%\LogFiles\stdout.Set stdoutLogEnabled to true and change the stdoutLogFile path to: \\?\%home%\LogFiles\stdout.
  7. Sélectionnez Enregistrer pour enregistrer le fichier web.config mis à jour.Select Save to save the updated web.config file.
  8. Adressez une demande à l’application.Make a request to the app.
  9. Revenez sur le Portail Azure.Return to the Azure portal. Sélectionnez le panneau Outils avancés dans la zone OUTILS DE DÉVELOPPEMENT.Select the Advanced Tools blade in the DEVELOPMENT TOOLS area. Sélectionnez le bouton Atteindre→ .Select the Go→ button. La console Kudu s’ouvre dans un nouvel onglet ou une nouvelle fenêtre du navigateur.The Kudu console opens in a new browser tab or window.
  10. Dans la barre de navigation en haut de la page, ouvrez Console de débogage et sélectionnez CMD.Using the navigation bar at the top of the page, open Debug console and select CMD.
  11. Sélectionnez le dossier LogFiles.Select the LogFiles folder.
  12. Inspectez la colonne Modifié et sélectionnez l’icône en forme de crayon pour modifier le journal stdout avec la date de dernière modification.Inspect the Modified column and select the pencil icon to edit the stdout log with the latest modification date.
  13. Lorsque le fichier journal s’ouvre, l’erreur s’affiche.When the log file opens, the error is displayed.

Désactivez la journalisation stdout, une fois les problèmes résolus :Disable stdout logging when troubleshooting is complete:

  1. Dans la Console de diagnostic Kudu, revenez au chemin d’accès site > wwwroot pour faire apparaître le fichier web.config.In the Kudu Diagnostic Console, return to the path site > wwwroot to reveal the web.config file. Ouvrez à nouveau le fichier web.config en sélectionnant l’icône en forme de crayon.Open the web.config file again by selecting the pencil icon.
  2. Définissez stdoutLogEnabled sur false.Set stdoutLogEnabled to false.
  3. Sélectionnez Enregistrer pour enregistrer le fichier.Select Save to save the file.

Avertissement

Si vous ne désactivez pas le journal stdout, l’application ou le serveur risque d’échouer.Failure to disable the stdout log can lead to app or server failure. Il n’existe aucune limite quant à la taille du fichier journal ou au nombre de fichiers journaux créés.There's no limit on log file size or the number of log files created. N’utilisez la journalisation stdout que pour résoudre les problèmes de démarrage de l’application.Only use stdout logging to troubleshoot app startup problems.

Pour la journalisation générale dans une application ASP.NET Core après le démarrage, utilisez une bibliothèque de journalisation qui limite la taille du fichier journal et applique une rotation aux journaux.For general logging in an ASP.NET Core app after startup, use a logging library that limits log file size and rotates logs. Pour plus d’informations, voir Fournisseurs de journalisation tiers.For more information, see third-party logging providers.

Journal de débogage du module ASP.NET CoreASP.NET Core Module debug log

Le journal de débogage du module ASP.NET Core fournit une journalisation supplémentaire, plus approfondie, à partir du module ASP.NET Core.The ASP.NET Core Module debug log provides additional, deeper logging from the ASP.NET Core Module. Pour activer et afficher les journaux stdout :To enable and view stdout logs:

  1. Pour activer le journal de diagnostic amélioré, effectuez l’une des opérations suivantes :To enable the enhanced diagnostic log, perform either of the following:
    • Suivez les instructions indiquées dans Journaux de diagnostic améliorés afin de configurer l’application pour une journalisation des diagnostics améliorée.Follow the instructions in Enhanced diagnostic logs to configure the app for an enhanced diagnostic logging. Redéployez l’application.Redeploy the app.
    • Ajoutez le <handlerSettings> présenté dans Journaux de diagnostic améliorés au fichier web.config de l’application en production à l’aide de la console Kudu :Add the <handlerSettings> shown in Enhanced diagnostic logs to the live app's web.config file using the Kudu console:
      1. Ouvrez les Outils avancés dans la zone Outils de développement.Open Advanced Tools in the Development Tools area. Sélectionnez le bouton Atteindre→ .Select the Go→ button. La console Kudu s’ouvre dans un nouvel onglet ou une nouvelle fenêtre du navigateur.The Kudu console opens in a new browser tab or window.
      2. Dans la barre de navigation en haut de la page, ouvrez Console de débogage et sélectionnez CMD.Using the navigation bar at the top of the page, open Debug console and select CMD.
      3. Ouvrez les dossiers sur le chemin d’accès site > wwwroot.Open the folders to the path site > wwwroot. Modifiez le fichier web.config en sélectionnant le bouton représentant un crayon.Edit the web.config file by selecting the pencil button. Ajoutez la section <handlerSettings> comme indiqué dans Journaux de diagnostic améliorés.Add the <handlerSettings> section as shown in Enhanced diagnostic logs. Sélectionnez le bouton Enregistrer.Select the Save button.
  2. Ouvrez les Outils avancés dans la zone Outils de développement.Open Advanced Tools in the Development Tools area. Sélectionnez le bouton Atteindre→ .Select the Go→ button. La console Kudu s’ouvre dans un nouvel onglet ou une nouvelle fenêtre du navigateur.The Kudu console opens in a new browser tab or window.
  3. Dans la barre de navigation en haut de la page, ouvrez Console de débogage et sélectionnez CMD.Using the navigation bar at the top of the page, open Debug console and select CMD.
  4. Ouvrez les dossiers sur le chemin d’accès site > wwwroot.Open the folders to the path site > wwwroot. Si vous n’avez pas indiqué de chemin pour le fichier aspnetcore-debug.log, le fichier apparaît dans la liste.If you didn't supply a path for the aspnetcore-debug.log file, the file appears in the list. Si vous avez indiqué un chemin, accédez à l’emplacement du fichier journal.If you supplied a path, navigate to the location of the log file.
  5. Ouvrez le fichier journal à l’aide du bouton représentant un crayon à côté du nom de fichier.Open the log file with the pencil button next to the file name.

Désactivez la journalisation du débogage, une fois la résolution des problèmes effectuée :Disable debug logging when troubleshooting is complete:

  1. Pour désactiver la journalisation de débogage améliorée, effectuez l’une des opérations suivantes :To disable the enhanced debug log, perform either of the following:
    • Supprimez <handlerSettings> du fichier web.config localement, puis redéployez l’application.Remove the <handlerSettings> from the web.config file locally and redeploy the app.
    • Utilisez la console Kudu pour modifier le fichier web.config et supprimer la section <handlerSettings>.Use the Kudu console to edit the web.config file and remove the <handlerSettings> section. Enregistrez le fichier.Save the file.

Avertissement

Si le journal de débogage n’est pas désactivé, cela peut entraîner une défaillance de l’application ou du serveur.Failure to disable the debug log can lead to app or server failure. Il n’existe aucune limite à la taille du fichier journal.There's no limit on log file size. Utilisez uniquement la journalisation de débogage pour résoudre les problèmes de démarrage d’application.Only use debug logging to troubleshoot app startup problems.

Pour la journalisation générale dans une application ASP.NET Core après le démarrage, utilisez une bibliothèque de journalisation qui limite la taille du fichier journal et applique une rotation aux journaux.For general logging in an ASP.NET Core app after startup, use a logging library that limits log file size and rotates logs. Pour plus d’informations, voir Fournisseurs de journalisation tiers.For more information, see third-party logging providers.

Erreurs de démarrage courantesCommon startup errors

Consultez Informations de référence sur les erreurs courantes pour Azure App Service et IIS avec ASP.NET Core.See Informations de référence sur les erreurs courantes pour Azure App Service et IIS avec ASP.NET Core. La plupart des problèmes courants qui empêchent le démarrage de l’application sont traités dans la rubrique de référence.Most of the common problems that prevent app startup are covered in the reference topic.

Application lente ou bloquéeSlow or hanging app

Si une application répond lentement ou se bloque sur une requête, voir les articles suivants :When an app responds slowly or hangs on a request, see the following articles:

Débogage distantRemote debugging

Consultez les rubriques suivantes :See the following topics:

Application InsightsApplication Insights

Application Insights fournit des données de télémétrie des applications hébergées dans Azure App Service, y compris des fonctionnalités de journalisation des erreurs et de création de rapports.Application Insights provides telemetry from apps hosted in the Azure App Service, including error logging and reporting features. Application Insights ne peut générer des rapports que sur les erreurs qui surviennent après le démarrage de l’application quand les fonctionnalités de journalisation de l’application sont disponibles.Application Insights can only report on errors that occur after the app starts when the app's logging features become available. Pour plus d’informations, voir Application Insights pour ASP.NET Core.For more information, see Application Insights for ASP.NET Core.

Panneaux MonitoringMonitoring blades

Les panneaux Monitoring offrent une expérience de résolution des erreurs différente des méthodes décrites précédemment dans la rubrique.Monitoring blades provide an alternative troubleshooting experience to the methods described earlier in the topic. Ils peuvent servir à diagnostiquer les erreurs de la série 500.These blades can be used to diagnose 500-series errors.

Vérifiez que les extensions ASP.NET Core sont installées.Confirm that the ASP.NET Core Extensions are installed. Si ce n’est pas le cas, installez-les manuellement :If the extensions aren't installed, install them manually:

  1. Dans la section du panneau OUTILS DE DÉVELOPPEMENT, sélectionnez le panneau Extensions.In the DEVELOPMENT TOOLS blade section, select the Extensions blade.
  2. Les Extensions ASP.NET Core devraient apparaître dans la liste.The ASP.NET Core Extensions should appear in the list.
  3. Si les extensions ne sont pas installées, sélectionnez le bouton Ajouter.If the extensions aren't installed, select the Add button.
  4. Choisissez les Extensions ASP.NET Core dans la liste.Choose the ASP.NET Core Extensions from the list.
  5. Sélectionnez OK pour accepter les conditions légales.Select OK to accept the legal terms.
  6. Sélectionnez OK sur le panneau Ajouter une extension.Select OK on the Add extension blade.
  7. Un message contextuel d’information indique que les extensions sont bien installées.An informational pop-up message indicates when the extensions are successfully installed.

Si la journalisation stdout n’est pas activée, suivez les étapes ci-dessous :If stdout logging isn't enabled, follow these steps:

  1. Sur le Portail Azure, sélectionnez le panneau Outils avancés dans la zone OUTILS DE DÉVELOPPEMENT.In the Azure portal, select the Advanced Tools blade in the DEVELOPMENT TOOLS area. Sélectionnez le bouton Atteindre→ .Select the Go→ button. La console Kudu s’ouvre dans un nouvel onglet ou une nouvelle fenêtre du navigateur.The Kudu console opens in a new browser tab or window.
  2. Dans la barre de navigation en haut de la page, ouvrez Console de débogage et sélectionnez CMD.Using the navigation bar at the top of the page, open Debug console and select CMD.
  3. Ouvrez les dossiers sur le chemin d’accès site > wwwroot et faites défiler la page jusqu’à révéler le fichier web.config en bas de la liste.Open the folders to the path site > wwwroot and scroll down to reveal the web.config file at the bottom of the list.
  4. Cliquez sur l’icône en forme de crayon à côté du fichier web.config.Click the pencil icon next to the web.config file.
  5. Définissez stdoutLogEnabled sur true et remplacez le chemin stdoutLogFile par : \\?\%home%\LogFiles\stdout.Set stdoutLogEnabled to true and change the stdoutLogFile path to: \\?\%home%\LogFiles\stdout.
  6. Sélectionnez Enregistrer pour enregistrer le fichier web.config mis à jour.Select Save to save the updated web.config file.

Maintenant, activez la journalisation des diagnostics :Proceed to activate diagnostic logging:

  1. Sur le Portail Azure, sélectionnez le panneau Journaux de diagnostic.In the Azure portal, select the Diagnostics logs blade.
  2. Basculez Journalisation des applications (système de fichiers) et Messages d’erreur détaillés sur Activé.Select the On switch for Application Logging (Filesystem) and Detailed error messages. Sélectionnez le bouton Enregistrer en haut du panneau.Select the Save button at the top of the blade.
  3. Pour inclure le suivi des demandes ayant échoué, également appelé Mise en mémoire tampon des événements d’échec des demandes (FREB), basculez Suivi des demandes ayant échoué sur Activé.To include failed request tracing, also known as Failed Request Event Buffering (FREB) logging, select the On switch for Failed request tracing.
  4. Sélectionnez le panneau Flux du journal situé juste sous le panneau Journaux de diagnostic sur le portail.Select the Log stream blade, which is listed immediately under the Diagnostics logs blade in the portal.
  5. Adressez une demande à l’application.Make a request to the app.
  6. La cause de l’erreur est indiquée dans les données de flux de journal.Within the log stream data, the cause of the error is indicated.

Veillez à désactiver la journalisation stdout une fois la résolution des problèmes effectuée.Be sure to disable stdout logging when troubleshooting is complete. Consultez les instructions dans la section Journal stdout du module ASP.NET Core.See the instructions in the ASP.NET Core Module stdout log section.

Pour afficher les journaux de suivi des demandes ayant échoué (journaux FREB) :To view the failed request tracing logs (FREB logs):

  1. Accédez au panneau Diagnostiquer et résoudre les problèmes du Portail Azure.Navigate to the Diagnose and solve problems blade in the Azure portal.
  2. Sélectionnez Journaux de suivi des demandes ayant échoué dans la zone OUTILS DE PRISE EN CHARGE de la barre latérale.Select Failed Request Tracing Logs from the SUPPORT TOOLS area of the sidebar.

Voir la section Traces des demandes ayant échoué de la rubrique Activer la journalisation des diagnostics pour les applications web dans Azure App Service et FAQ sur les performances des applications web dans Azure : comment activer le suivi des demandes ayant échoué ? pour plus d’informations.See Failed request traces section of the Enable diagnostics logging for web apps in Azure App Service topic and the Application performance FAQs for Web Apps in Azure: How do I turn on failed request tracing? for more information.

Pour plus d’informations, voir Activer la journalisation des diagnostics pour les applications web dans Azure App Service.For more information, see Enable diagnostics logging for web apps in Azure App Service.

Avertissement

Si vous ne désactivez pas le journal stdout, l’application ou le serveur risque d’échouer.Failure to disable the stdout log can lead to app or server failure. Il n’existe aucune limite quant à la taille du fichier journal ou au nombre de fichiers journaux créés.There's no limit on log file size or the number of log files created.

Pour les opérations de journalisation courantes dans une application ASP.NET Core, utilisez une bibliothèque de journalisation qui limite la taille du fichier journal et applique une rotation aux journaux.For routine logging in an ASP.NET Core app, use a logging library that limits log file size and rotates logs. Pour plus d’informations, voir Fournisseurs de journalisation tiers.For more information, see third-party logging providers.

Ressources supplémentairesAdditional resources