Azure Functions V3 在启动文件中记录异常

Azure functions V3 logging exceptions in startup file

目前我们正在准备一组azure functions来触发blob storage。函数应用程序 V3 应该在启动时进行某种检查。所以我在VS解决方案中添加了Startup.cs文件。我遇到的问题是在启动文件中执行这些检查时有时会发生异常。但是我从来没有在 azure portal (application insights/exceptions) 中找到这些异常。我尝试了很多方法在那里实现日志记录,但不幸的是,应用程序一直说 Host is not running 而没有在这些日志中进行任何记录:

我说的不是某个特定函数的日志,我指的是函数应用启动时的日志。

这是抛出异常的代码 startup.cs:

try
{
   // async method CheckSomeBlobsFiles
   CheckSomeBlobsFiles(connectionString, 
       blobContainerName, blobDirectoryName).GetAwaiter().GetResult();
}
catch (Exception e)
{
   throw new Exception($"Error while checking database schemas: {e.Message}");
}

你能用 HttpRequestException 试试下面的代码吗?

 catch (HttpRequestException ex)
 {
    throw new Exception($"Error while checking database schemas: {e.Message}");
 }

经过一些研究,对于来自 Startup.cs 的异常,您可以在 Azure 门户 -> 诊断和解决问题 blade 中找到它。

步骤如下:

1.Nav到Azure门户->你的函数应用程序->在左侧,点击诊断并解决问题->然后输入 Function app down 在搜索框中 -> 然后点击 Function App Down or Reporting Errors。截图如下:

2.InFunction App Down or Reporting Errors的新页面,展开 Function Executions and Errors -> 然后展开 Detected host offline in your function app。然后您可以看到 startup.cs 中的异常记录在那里(如果不存在,请在此页面上指定适当的时间范围)。截图如下: