C# 在哪里可以找到Azure应用程序服务的docker容器日志
我有一个Docker容器运行.NETCore2应用程序 在C# 在哪里可以找到Azure应用程序服务的docker容器日志,c#,azure,docker,azure-web-app-service,azure-web-app-for-containers,C#,Azure,Docker,Azure Web App Service,Azure Web App For Containers,我有一个Docker容器运行.NETCore2应用程序 在Program.cs public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .ConfigureLogging((hostingContext, logging) => { logging.AddConfigur
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>();
日志记录似乎还可以,当直接运行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\u 09\u RD0003FF74F63E\u docker.log
,
只有集装箱起运线存在
我在通常的门户界面中也有相同的行
问题是:docker日志是否会自动输出到Azure Web App中的docker.log文件中?有什么我遗漏的吗?您检查过容器设置中的日志了吗?我按照指南将容器部署到Azure web app
我也有同样的问题,应用程序服务容器日志是通用的和模糊的。这与Docker在运行容器时向我们显示的日志不同
17/02/2020 08:59:25.186信息-站点:教程api-启动容器成功。容器:F8BFA7E27680C0E9551C6157F9D1C8A73C9E739B4F15DE8586CE52809798D3
2020年2月17日08:59:30.675信息-站点:教程api-应用程序日志记录(文件系统):打开
2020年2月17日08:59:44.106信息-站点:教程api-等待容器准备就绪
2020年2月17日08:59:49.116信息-站点:教程api-容器已退出
2020年2月17日08:59:49.117错误-站点:教程api-无法启动容器
2020年2月17日08:59:49.120信息-站点:教程api-容器启动失败后的清除
2020年2月17日08:59:49.120错误-站点:教程api-无法启动容器。错误消息:无法启动容器:tutorial-api_20
“无法启动容器,容器无法启动”
哇!Azure刚刚告诉我每60秒就有一分钟过去
我知道这是生产环境,但你必须给我们一些东西
出于沮丧,我决定在Azure容器实例资源中运行相同的映像,在那里它向您显示Docker提供的相同详细日志(请参见下面的屏幕截图)
这就是我要说的
使用Azure容器实例中的错误日志,我发现我的应用程序服务无法访问Sql Server资源(即使它们位于同一资源组中)。我只是启用了在同一资源组中访问Sql Server资源
首先,您需要启用容器日志 [应用程序服务]->监控->应用程序服务日志 然后您可以在[App Service]->Monitoring->Log stream中看到容器日志 UPD 你也可以在KUDU找到日志 然后是“当前Docker日志”
我一直在诅咒这一点,终于找到了适合我的东西 首先,我根据@dima_的回答启用了文件系统日志记录 接下来,我运行了一个命令行
azwebapp log tail--name myApp--resource group myRg
现在,这似乎给了我有用的输出(在启用文件系统日志记录之前,它没有给我任何信息)。要补充回答,如果您在应用程序服务中部署映像时遇到问题,并且需要日志,您可以在Deployment Center下获取容器配置阶段的docker日志,例如:
是的,正如我所写的,我有完全相同的行,
docker run
命令,就是这样。应用程序本身没有其他日志。如果通过CLI()获取日志,您会看到任何内容吗?您确定Azure Web app应该使用az container
命令吗?我找不到合适的容器,当我执行az容器列表时,
我确实收到一个空数组作为答案。看起来这是写给我的,我看到了这篇文章()并回想起了你的问题。实际上,我只是单击了“关闭”,然后又单击了“返回”,现在我确实有了更多的日志,但我仍然看不到应用程序日志,我只能看到服务器日志。你能找到你的应用程序日志吗?解决方案是什么?令人沮丧的是,你不能简单地在门户中获取日志-Log stream
混合了来自Kudu
和应用程序日志的日志:/我发现了一种应对机制azwebapp log tail…
只提供了几行容器输出。在这些行的上方有一个URL,如果您使用Azure进行了身份验证,它将为您提供更多的输出。所以:我首先跟踪(获取最新的URL),然后将链接粘贴到我的浏览器中。这是一个解决办法(也是一个糟糕的体验),但这是可能的。我很想知道是否/何时有更简单的方法。az webapp log tail
似乎不适用于linux应用程序计划。
{
"Logging": {
"LogLevel": {
"Default": "Information"
}
},
}