【问题标题】:How to remove Azure.Storage.Blobs logging from Azure Function App logs?如何从 Azure Function App 日志中删除 Azure.Storage.Blobs 日志记录?
【发布时间】:2022-10-14 16:52:56
【问题描述】:

我已经开始在我的函数应用程序中使用 Azure.Storage.Blobs nuget。 目前它引起的唯一问题是它记录了很多我不需要看到的不必要的东西。主要是请求和响应消息,这些消息现在填充了我的大量应用程序见解。

有没有办法在不接触任何其他日志的情况下删除它们?我会假设你应该能够从 host.json 做一些事情,但到目前为止,我还没有解决这个问题。

我得到的示例日志:

请求 [f42fdb4b-8d26-418d-ae67-1d4e79bdabd6] GET <resource_address> x-ms-version:2021-08-06 Accept:application/xml x-ms-client-request-id: x-ms-return-client- request-id:true User-Agent:azsdk-net-Storage.Blobs/12.13.0,(.NET 6.0.8; Microsoft Windows 10.0.14393) x-ms-date:Thu, 29 Sep 2022 19:07:43 GMT 授权:已编辑的客户端程序集:Azure.Storage.Blobs

响应 [f42fdb4b-8d26-418d-ae67-1d4e79bdabd6] 200 OK (00.0s) Accept-Ranges:bytes ETag:"" Server:Windows-Azure-Blob/1.0,Microsoft-HTTPAPI/2.0 x-ms-request-id: x-ms-client-request-id:<request_id> x-ms-version:2021-08-06 x-ms-version-id:REDACTED x-ms-is-current-version:REDACTED x-ms-creation-时间:星期四,2022 年 9 月 29 日 19:07:39 GMT x-ms-lease-status:unlocked x-ms-lease-state:available x-ms-blob-type:BlockBlob x-ms-server-encrypted:true 日期:Thu, 29 Sep 2022 19:07:43 GMT Content-Length:222058 Content-Type:application/pdf Content-MD5: Last-Modified:Thu, 29 Sep 2022 19:07:39 GMT Content-Disposition:

在处理 blob 的函数中,会有很多这样的请求/响应日志。我倾向于用 try-catch 来包装我的操作并记录可能的错误,所以这些写起来完全没有意义。

【问题讨论】:

  • 基于我们了解到您正在尝试减少从功能主机到应用程序洞察力的日志数量的问题,如果我的理解是正确的,我建议您为此使用sampling in application insights。如果您想减少数量函数调用时的日志。您能帮助我们删除类似于此github discussion 的示例日志。
  • 嗨@RajkumarM!我在原始帖子中添加了 blob 日志示例。我已经阅读了您发布的 github 讨论,并尝试了人们在那里建议的类似策略。不幸的是,这些都没有帮助解决这个问题。

标签: azure azure-functions azure-blob-storage azure-application-insights


【解决方案1】:

我在使用 QueueTrigger 时遇到了同样的问题,我的解决方法是从单例和依赖注入中删除 TelemetryClient。它还设法删除所有内置日志。代码示例。

public class Function1
{
        private readonly TelemetryClient _telemetryClient;

        public Function1() 
        {
            _telemetryClient = TelemetryClientHelper.GetInstance();
        }
}

public static class TelemetryClientHelper
    {
        private static TelemetryClient _telemetryClient;
        public static TelemetryClient GetInstance()
        {
            if(_telemetryClient == null)
            {
                var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
                telemetryConfiguration.ConnectionString = Environment.GetEnvironmentVariable("APPLICATIONINSIGHTS_CONNECTION_STRING");
                _telemetryClient = new TelemetryClient(telemetryConfiguration);
            }
            
            return _telemetryClient;
        }
    }

【讨论】:

    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多