我确实有一个运行 .net core 2 应用程序的 Docker 容器。使用此代码配置日志记录 Program.cspublic 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 文件中?有什么我想念的吗?
3 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
首先你需要启用容器日志
[应用服务] -> 监控 -> 应用服务日志
然后就可以在【应用服务】->监控->日志流中看到容器日志
UPD
您也可以在 KUDU 中找到日志
然后是“当前 Docker 日志”
jeck猫
TA贡献1909条经验 获得超7个赞
我一直在诅咒这一点,最终找到了适合我的东西。
首先,我根据@dima_horror 的回答启用了文件系统日志记录。
接下来我运行了一个命令行 az webapp log tail --name myApp --resource-group myRg
现在这似乎给了我有用的输出(在启用文件系统日志记录之前它没有给我任何东西)。
- 3 回答
- 0 关注
- 194 浏览
添加回答
举报
0/150
提交
取消