首页 文章

用于Linux Docker容器记录的App Service [关闭]

提问于
浏览
0

我已经将 asp.net core 2.0. app部署到azure linux docker容器中,我正试图找出处理应用程序日志的最佳方法 .

我只是无法达到一些不错/最佳实践工作流程 .

当然,有Kudu服务或FTP访问日志,它们都显示docker日志,但问题是如何很好地处理日志级别?

像往常一样,我想在 生产环境 中打开 Warning 及以上版本,但是如果出现问题,我想打开 Trace 以查看所有内容但没有重新部署/重启/任何内容 . 既然我们在docker中并且无法访问 appsettings.json 所以 reloadOnChange 显然不起作用,我不知道该怎么做?

这种情况的最佳做法是什么?

1 回答

  • 2

    我想强调一些可用于记录的最佳实践(对于长篇文章而言):

    我们将有用的信息记录到Docker日志中,可以帮助您在站点未启动或重新启动时对站点进行故障排除 . 我们记录了比在Docker日志中看到的更多的日志,我们将继续努力使这个日志记录更有用 . 您可以在/ LogFiles目录中找到Docker日志 . 您可以通过Kudu(高级工具)Bash控制台,使用FTP客户端访问它,或使用我们的API下载当前日志来访问它 . (有关此信息,请参阅此帖子中的“您可以使用Kudu发现并下载最新的Docker日志” . )Docker日志的命名约定为YYYY_MM_DD_RDxxxxxxxxxxxx_docker.log .

    请注意,如果您尝试使用FTP客户端下载当前正在使用的Docker日志,则可能会因文件锁定而出错 . 在这种情况下,您可以使用我们的API下载它(请参阅本文中的“您可以使用Kudu发现并下载最新的Docker日志”),或者您可以在控制台中使用“tail”来查看它 . (我们的API会为您提供当前的Docker日志,因此如果您想查看过去的日志,请使用“tail”选项 . )要使用tail查看Docker日志,请访问控制台,切换到LogFiles目录,然后运行此命令:tail 2017_09_05_RD * 0FA_docker.log

    “您可以使用Kudu发现并下载最新的Docker日志” .

    我们有一个API,可以让您轻松查看当前的Docker日志详细信息(例如文件名等),并以Zip格式下载当前的Docker日志 . 要以JSON格式查看当前Docker日志的详细信息,您可以使用以下URL:https://[sitename].scm.azurewebsites.net/api/logs/docker您可以通过转到高级工具(Kudu)然后将"/api/logs/docker"附加到URL轻松实现此目的 . 这个输出将是一个JSON响应,其中包含最相关和最新的Docker日志 . 如果要以Zip格式下载上述API中显示的日志,请将"zip"附加到URL . 例如:https://[sitename].scm.azurewebsites.net/api/logs/docker/zip您还可以单击高级工具(Kudu)中的链接以Zip格式下载最新的Docker日志 .

    Azure App Service具有丰富的功能集,但并非所有这些功能目前都可用于Linux应用程序 . 我们一直在努力添加新功能,一旦添加了新功能,它们就会在Azure门户的菜单上启用 . 如果在Linux应用程序的菜单中禁用(灰显)特定功能的菜单项,那只是因为我们还没有添加该功能 .

    参考:https://blogs.msdn.microsoft.com/waws/2017/09/08/things-you-should-know-web-apps-and-linux/

相关问题