我确实有一个运行 .net core 2 应用程序的 Docker 容器。
使用此代码配置日志记录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 Web App 中作为容器运行时,生产中会出现问题。我找不到任何一致的 docker 日志。
我尝试通过 FTP 或通过 urlhttps://[mysite].scm.azurewebsites.net/api/logs/docker
访问日志文件,例如,日志文件几乎是空的
https://[mysite].scm.azurewebsites.net/api/vfs/LogFiles/2018_09_09_RD0003FF74F63E_docker.log
,只有容器起始行存在
我在通常的门户界面中也有相同的行。
问题是:docker 日志是否会自动输出到 Azure Web App 的 docker.log 文件中?有什么我想念的吗?