gpt4 book ai didi

azure - 如何在 Azure Functions 中使用结构化日志记录

转载 作者:行者123 更新时间:2023-12-01 11:19:22 25 4
gpt4 key购买 nike

我正在 Azure 函数中使用相对较新的 ILogger(相对于 TraceWriter)选项,并尝试了解如何捕获日志。

这是我的功能:

    public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req, ILogger log)
{
log.LogTrace("Function 1 {level}", "trace");
log.LogWarning("Function 1 {level}", "warning");
log.LogError("Function 1 {level}", "error");

return req.CreateResponse(HttpStatusCode.OK, "Success!!!!");
}

当我查看服务器日志时,LogFiles 目录具有层次结构。

enter image description here

黄色突出显示的文件包含我的日志语句:

2017-08-19T13:58:31.814 Function started (Id=d40f2ca6-4cb6-4fbe-a05f-006ae3273562)
2017-08-19T13:58:33.045 Function 1 trace
2017-08-19T13:58:33.045 Function 1 warning
2017-08-19T13:58:33.045 Function 1 error
2017-08-19T13:58:33.075 Function completed (Success, Id=d40f2ca6-4cb6-4fbe-a05f-006ae3273562, Duration=1259ms)

结构化目录此处不包含任何内容,但在我的实际功能应用程序目录中似乎有各种“codeddiagnostic”日志语句。

我应该期待什么?最终,我希望有一个单一的接收器来记录我的所有应用程序组件,并全面利用结构化日志记录。

最佳答案

从 Azure Functions 收集结构化日志记录的最佳方法是使用 Application Insights。如果您定义了您的 Logger 基于 ILogger,您可以定义一个模板来指定您想要记录的属性。然后,在 Application Insights 跟踪中,使用 Application Insights 查询语言(又名 Kusto),您可以访问名称为 customDimensions.prop__{name} 的每个属性的值。

您可以在这篇文章 https://platform.deloitte.com.au/articles/correlated-structured-logging-on-azure-functions 上找到如何使用 Azure Functions v2 执行此操作的示例。

关于azure - 如何在 Azure Functions 中使用结构化日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45772594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com