是否有用于使用Azure Web App日志流的API

时间:2017-10-26 02:38:19

标签: azure azure-web-sites azure-powershell azure-diagnostics azure-automation

我想以编程方式使用日志流数据并执行某些操作。

是否有任何API可以实现这一目标?

1 个答案:

答案 0 :(得分:1)

据我所知,可以使用FTP直接访问存储在Web应用程序文件系统中的azure诊断信息。

也可以使用Azure PowerShell或Azure命令行界面将其作为Zip存档下载。

路径如下:

  • 应用程序日志 - / LogFiles / Application /。此文件夹包含一个或多个-text文件,其中包含由应用程序日志记录生成的信息。
  • 请求跟踪失败 - / LogFiles / W3SVC ######### /。此文件夹包含XSL文件和一个或多个XML文件。确保将XSL文件下载到与XML文件相同的目录中,因为XSL文件提供了在Internet Explorer中查看时格式化和过滤XML文件内容的功能。
  • 详细的错误日志 - / LogFiles / DetailedErrors /。此文件夹包含一个或多个.htm文件,这些文件为发生的任何HTTP错误提供了大量信息。
  • Web服务器日志 - / LogFiles / http / RawLogs。此文件夹包含一个或多个使用W3C扩展日志文件格式格式化的文本文件。
  • 部署日志 - / LogFiles / Git。此文件夹包含Azure Web应用程序使用的内部部署过程生成的日志,以及Git部署的日志。

日志流还从LogFiles文件夹(D:\ home \ LogFiles \)读取日志。

因此,如果您想以编程方式获取日志,则首先需要通过ftp或命令行下载日志。

此外,如果你想在本地运行日志,我建议你可以考虑使用C#run powershell脚本。因为,azure powershell SDK有命令来传输日志信息。关于如何调用powershell脚本,你可以参考这个{ {3}}

Get-AzureWebSiteLog -Name webappname -Tail

要获取Web应用程序列表,请运行以下命令:

Get-AzureWebsite

如果您正在使用'广告位部署'您必须使用完全限定名称(引号):

Get-AzureWebSiteLog -Name "webappname(Staging)" -Tail

有关如何下载或流式传输日志的更多详细信息,请参阅此question