如何查看Python Azure Function应用程序的错误日志?

5anewei6  于 2023-06-24  发布在  Python
关注(0)|答案(1)|浏览(141)

我正在使用Linux和消费计划开发一些Python函数应用程序。我试图找出在哪里可以看到我的应用程序的错误日志,但没有太大的成功。我特别想看到两件事:

  • 如果我的应用程序代码编译失败,当我尝试访问API端点时,我会收到404错误。在哪里可以看到编译错误?
  • 如果我的应用程序抛出异常,我会从端点得到500个错误。在哪里可以看到异常消息和追溯?

这两个都没有出现在我能找到的任何日志或见解屏幕中。我已经采取了将所有代码 Package 在try/except块中,并在响应中返回错误,但这并不好。我一定是漏掉了什么明显的东西!
谢谢你的帮助

m528fe3b

m528fe3b1#

有很多方法可以监视Azure Functions触发器,请参阅以下内容:
我从本地机器在Azure Portal上部署了一个HTTP触发器函数,并触发它以获取如下所示的日志:

**方法1)**转到Azure Function应用>选择触发器> Code + Test > Test the Function,日志流将记录所有触发器的失败和成功,并带有错误代码,请参阅以下内容:-

然后,您可以将日志记录类型更改为“详细”、“信息”、“警告”或“错误”。如果在触发HTTP请求或任何函数Trigger API后没有出现上述日志,只需将日志记录更改为其他类型。

**方法2)**访问监视器部分>并检查所有触发器请求调用、警告、错误,如下所示:

您可以点击应用程序洞察中的运行查询并查询日志:-

日志:-

方法3)

您可以访问您的功能应用程序,并选择日志选项卡和查询日志如下:-

您可以访问日志流并找到相同的控制台日志为您的功能,此选项是可行的,当您有多个触发器内的一个功能应用程序,其中它给出一个单一的点来检查功能触发器日志快速:-

您可以点击Metrics并了解您的函数的失败请求和其他参数,如下所示:

请参考我的SO线程答案,以使用Application Insights在Azure Function中发送自定义日志。
您还可以在host.json中添加特定的日志记录参数,如配置Azure Functions日志记录时的MS Document所述。

{   "logger": {
    "categoryFilter": {
      "defaultLevel": "Information",
      "categoryLevels": {
        "Host": "Error",
        "Function": "Error",
        "Host.Aggregator": "Information"
      }
    }  
  }
}

应用服务日志在具有基于消费的计划的Azure Function应用中被禁用,如果你想检查应用服务日志和高级工具kudu,其中也有你的函数部署和其他日志的详细信息,你需要将你的函数应用创建为高级计划。参考如下:-

功能应用>开发工具>高级工具> Kudu > Go

启用应用服务日志:-

参考号:-

Monitoring Azure Functions | Microsoft Learn

相关问题