.net 为Azure Functions应用禁用不必要的日志收集

kgsdhlau  于 2022-11-19  发布在  .NET
关注(0)|答案(1)|浏览(119)

我运行了一个Kusto查询,以检测我的C#函数应用程序中正在收集哪些日志,然后我发现存储中有太多不必要的日志收集:

我想禁用除“AppExceptions”之外的所有日志收集,所有其他日志对我来说都是不必要的。(特别是我想关闭“AppRequests”和“AppMetrics”)我如何禁用它们?
Azure函数版本:第3版

gcxthw6b

gcxthw6b1#

如果您不想从应用收集所有日志信息,则必须在应用中配置日志类别。
1.提及日志类别以忽略您不想在应用程序洞察中添加的日志级别。Function.<YOUR_FUNCTION_NAME>Function.<YOUR_FUNCTION_NAME>.UserHost.AggregatorHost.ResultsMicrosoftWorker

{
  "version": "2.0",

  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request" // Exclude the Request
      }
    },
    "fileLoggingMode": "always",
    "logLevel": {
      "default": "Error", // It will log Error  or higher level log
      "Host.Results": "Error",
      "Function": "Error",
      "Host.Aggregator": "Error",
      "Function.Function1": "Error",
      "Function.Function1.User" : "Error"
    }
  }
}

1.使用**“excludedTypes”以避免收集提到的日志级别。在上面的代码中,它将忽略请求级别日志。
1.配置日志级别Ms-Doc具有更高级别,以便它将收集高优先级日志,如错误、严重和无。在上面的
host.json文件中,我收集了所有高级别日志错误或更高级别。
如果您的应用已经投入生产,您可以在App Service Editor / Kudu中编辑
host.json**。

1.如果要*禁用默认的内置日志记录***,可以删除应用程序设置中的AzureWebJobsDashboard**。(建议用于高负载功能)。

相关问题