У меня есть контейнер Docker, на котором запущено приложение .net core 2.
Ведение журнала настраивается с использованием этого кода в 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>();
и appsettings.json
файл
{
"Logging": {
"LogLevel": {
"Default": "Information"
}
},
}
Похоже, что регистрация в порядке, когда я запускаю Kestrel напрямую, я вижу журналы в терминале. То же самое при контейнере: команда docker logs
показывает, что я хочу.
Проблемы возникают в производственной среде при запуске в качестве контейнера в веб-приложении Azure. Я не могу найти никаких последовательных журналов докера.
Я предпринял попытки зайти в файл журнала через FTP или через URL https://[mysite].scm.azurewebsites.net/api/logs/docker
Например, файлы журнала почти пусты,
https://[mysite].scm.azurewebsites.net/api/vfs/LogFiles/2018_09_09_RD0003FF74F63E_docker.log
,
присутствуют только стартовые строки контейнера
Также у меня есть те же строки в обычном интерфейсе портала.
Вопрос заключается в следующем: автоматически ли выводятся журналы Docker в файлы docker.log в Azure Web App? Я что-то упускаю?