猿问

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

我确实有一个运行 .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 文件中?有什么我想念的吗?


湖上湖
浏览 255回答 3
3回答

慕桂英4014372

首先你需要启用容器日志[应用服务] -> 监控 -> 应用服务日志然后就可以在【应用服务】->监控->日志流中看到容器日志UPD您也可以在 KUDU 中找到日志然后是“当前 Docker 日志”

jeck猫

我一直在诅咒这一点,最终找到了适合我的东西。首先,我根据@dima_horror 的回答启用了文件系统日志记录。接下来我运行了一个命令行&nbsp;az webapp log tail --name myApp --resource-group myRg现在这似乎给了我有用的输出(在启用文件系统日志记录之前它没有给我任何东西)。

炎炎设计

您是否检查过容器设置中的日志?我按照本指南将容器部署到 Azure Web 应用程序。
随时随地看视频慕课网APP
我要回答