Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在哪里可以找到Azure应用程序服务的docker容器日志_C#_Azure_Docker_Azure Web App Service_Azure Web App For Containers - Fatal编程技术网

C# 在哪里可以找到Azure应用程序服务的docker容器日志

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

我有一个Docker容器运行.NETCore2应用程序

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或url
https://[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"
    }
  },
}