2

我正在尝试通过像这样登录我的 Azure 函数来使用结构化日志记录:

log.LogError("Failed to get object. ({customerId}, {objectId}, {errorMessage})", request.CustomerId,
                    request.ObjectId, errorMessage);

我的 Azure 函数通过诊断设置插入到 Log Analytics 工作区。

有没有办法从 Message 中提取 customerId、objectId 和 errorMessage ?

例如,我想创建一个仪表板,显示每个 customerId 的错误数。

我试图“提取字段”功能无济于事。我需要使用 Application Insights 和自定义维度吗?

4

1 回答 1

1

您几乎已经走在正确的道路上。使用上面共享的示例日志语句,如果您已启用内置App Insights 集成,您应该已经在 Application Insights 日志的 customDimentions 中看到 customerId、objectId、errorMessage 。这就是确切的原因,登录 .net 核心是以这种方式构建的模板。您还可以在Azure Function 结构化日志记录中找到详细信息。 在此处输入图像描述

但是您提到您正在通过诊断设置使用 Log Analytics 工作区,我认为这些设置尚不支持结构化日志记录(目前处于预览阶段,因此将来可能会更改)。 在此处输入图像描述

因此,Application Insights 将是您的最佳选择。除了 App Insights 的内置查询窗格之外,您也可以从 Log Analytics 查询应用程序见解。

于 2020-09-04T17:22:15.590 回答