J'ai un conteneur Docker qui exécute une application .net core 2.
L'enregistrement est configuré en utilisant ce code dans Program.cs
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
logging.AddDebug();
})
.UseStartup<Startup>();
et le appsettings.json
fichier
{
"Logging": {
"LogLevel": {
"Default": "Information"
}
},
}
La journalisation semble être Ok, lorsque je lance Kestrel directement, je peux voir les journaux dans le terminal. Même chose, quand il est conteneurisé : la commande docker logs
montre ce que je veux.
Les problèmes surviennent en production, lors de l'exécution en tant que conteneur dans Azure Web App. Je ne trouve aucun journal de docker cohérent.
J'ai essayé de visiter le fichier Log via FTP ou via l'url. https://[mysite].scm.azurewebsites.net/api/logs/docker
les fichiers journaux sont presque vides, par exemple, https://[mysite].scm.azurewebsites.net/api/vfs/LogFiles/2018_09_09_RD0003FF74F63E_docker.log
, seules les lignes de départ des conteneurs sont présentes
J'ai également les mêmes lignes dans l'interface habituelle du portail.
La question est la suivante : les journaux de docker sont-ils automatiquement publiés dans les fichiers docker.log dans Azure Web App ? Y a-t-il quelque chose qui m'échappe ?