【问题标题】:How to send Azure Function logs to blob storage?如何将 Azure Function 日志发送到 Blob 存储?
【发布时间】:2018-08-09 12:13:03
【问题描述】:

我有一个可用的 Azure 函数,我添加了一些带有日志 (Ilogger instance) 的日志,每当我测试函数或通过浏览器点击函数 URL 时,我都可以在 Azure 门户的日志控制台中看到它们。

我想发送相同的日志 Azure Blob,所以我配置了,

Diagnostics Logs-> Application Logging (Blob) on -> Level Verbose -> Storage accounts settings set up to an existing storage account with container.

但我在那里看不到我的日志。我看到生成的文件夹和写入的日志,但它们就像标准请求状态消息,如下所示:

2018-08-09T07:37:29,Information,TestFunction,cec757,636693970496377375,0,4860,6,Sending response: 200.0 OK,

我错过了什么?我没有看到将addAzureWebAppDiagnostics() 呼叫添加到ILoggerFactory 的方法。请帮忙!

【问题讨论】:

  • 当你说“我想发送相同的日志 Azure Blob 所以我配置”时,你在配置什么?您是否正在使用旧的日志系统,该系统使用带有 AzureWebJobsDashboard 的 Azure 存储并希望将这些日志存储在 Azure Blob 而不是 Azure 表存储中......?
  • 是的。什么是新的日志系统?
  • 新的日志系统使用App Insights。 App Insights 提供了更丰富的监控功能集,并且可以通过减少存储帐户的 I/O 来提高性能

标签: c# azure logging azure-blob-storage azure-functions


【解决方案1】:

如果使用旧的存储日志选项,默认情况下函数日志存储在表中,您应该能够使用storage explorer 访问您的日志:

  1. 访问函数门户。

  2. 点击功能应用设置->配置应用设置

  3. 找到应用设置键 AzureWebJobsStorage 的值。

  4. 提取帐户 AccountName 和 AccountKey 值并将它们提供给 Azure 存储资源管理器

您的日志应位于表格部分。如果是这种情况,您可以创建一个触发函数来将它们移动到 blob(如果这是您要完成的任务)。

【讨论】:

  • 但诊断日志设置仅提供选择 blob 的选项。那么 functionapp 是如何知道使用哪个存储帐户和哪个表来写入日志的呢?此外,当我检查链接到 azure 函数的存储帐户中的表部分时,会看到表名和 URL,例如:teststorageaccount.table.core.windows.net/…。当我点击该 URL 时,我收到一个错误“找不到资源”
  • 谢谢!这有帮助!我正在查看处于预览阶段的门户上的存储资源管理器,因此没有显示表,我在我的机器上安装了存储资源管理器并连接到存储,我可以在表中看到我的日志。再次感谢!
猜你喜欢
  • 1970-01-01
  • 2017-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
  • 2021-02-03
相关资源
最近更新 更多