Retrouver les logs DNX en ASP.NET Core 1.0 sur Azure

En ASP.NET Core 1.0, lorsque vous utilisez DNX pour lancer votre application Web, vous pouvez voir des logs s’afficher dans la console. Ces logs peuvent s’avérer être très utiles lorsque vous souhaitez savoir ce que fait réellement votre application. Les logs qui sont affichés dans la sortie de la console peuvent être le détail des appels effectués, les messages des middlewares, les exceptions remontées et non gérées, … Voici un aperçu de ces logs dans la console :

console

 

 

Cependant lorsque l’on publie son application (pour IIS, Azure, …), nous n’avons pas forcément accès à la console et lorsque l’on souhaite réellement savoir ce qui se passe, nous sommes un peu bloqués.

Activer la sauvegarde de ces logs dans des fichiers

Pour ce faire, il suffit simplement de modifier la propriété “stdoutLogEnabled” à “true” dans le fichier “web.config” présent dans “wwwroot” pour activer la sauvegarde.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
    </handlers>
    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="true" startupTimeLimit="3600"/>
  </system.webServer>
</configuration>

 

Où retrouver ces fichiers ?

Une fois cette propriété modifiée, les fichiers de logs de l’application se retrouvent sauvegardés dans le dossier “logs” présent dans l’output de votre solution au même niveau que les dossiers “wwwroot” et “approot”. Pour une publication fichier, ce dossier “logs” se place dans le dossier “artifacts” de votre projet, ceci répond donc à notre besoin pour IIS notamment. Mais comment faire pour une publication vers un WebSite Azure ?

Pour avoir accès à ces fichiers de logs, il faut se connecter au serveur qui héberge l’application Web, soit via un client FTP (type FileZilla), soit à partir de Visual Studio et de Serveur Explorer. Une fois la connexion effectuée, vous aurez 3 dossiers “data”, “LogFiles”, “site”, c’est bien évidemment dans le dossier LogFiles que seront sauvegardés les logs de la console DNX. Ces fichiers de logs ont comme nom “stdout.log” avec la date et l’heure à la fin de ce nom (ce qui peut être assez pratique pour retrouver un log en particulier).

FTP-Log

 

 

 

Ceci peut être vraiment utile pour débugger votre application, lorsque lors de son déploiement sur Azure, celle-ci ne fonctionne pas correctement (erreur 500, mauvaise configuration, …).

J’espère que cela vous sera utile lors de vos déploiements. Merci à Thibaut pour l’astuce.

Photo de profil

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus