azure 应用洞察记录-仅记录我说的内容,不记录其他内容

thtygnil  于 2022-11-17  发布在  其他
关注(0)|答案(2)|浏览(153)

我有一个Azure功能V3(.net核心).我使用的ILogger来自Microsoft. Extensions. Logging.我的问题是我不能让它做:

  • 这个函数只记录我用ILogger在C#代码中输入的内容。

例如:log.LogInformation(“我的日志”);

  • 没有来自内置日志记录功能的任何内容,包括错误、异常、依赖项,没有任何内容

我需要确切的***host.json***日志记录值来执行此操作。

仅包含我在C#代码中输入的内容,没有其他内容。

我的代码示例:

[FunctionName("GetNetworkHouseDetail")]
public static IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get", Route = "network/houseMonitoringDevices")] HttpRequest req, ILogger log, ClaimsPrincipal claims)
{
  try
  {
    var start = DateTime.UtcNow;

    // some actions

    var end = DateTime.UtcNow;
    var duration = (end - start).TotalSeconds;
    log.LogInformation($"API - GetNetworkHouseDetail: took {duration} second to finish");
    return new OkObjectResult(JsonConvert.SerializeObject(result));
  }
  catch (Exception ex)
  {
      log.LogError($"{ex.GetExceptionMessages()}", ex);
  }
}
wnavrhmk

wnavrhmk1#

您可以使用日志级别来实现这一点。
您可以在没有任何自定义配置的情况下使用Application Insights。默认配置可能会导致大量数据。如果您使用的是Visual Studio Azure订阅,则可能会达到Application Insights的数据上限。在本文后面的部分,您将了解如何配置和自定义函数发送到Application Insights的数据。对于函数应用程序,日志记录是在host.json文件中配置的。
通过使用LogLevel None,可以禁用给定类别和提供程序的所有日志记录。
例如,您可以执行

{
  "version": "2.0",
  "logging": {
    "LogLevel": {
      "Default": "None",
      "Host.Results": "Information",
      "Host.Aggregator": "Information",
      "Function.MyFunction.User": "Information"
    },
  }
}

它将禁用除您的函数之外的所有日志记录。您编写的函数的日志类别是“Function.<YOUR_FUNCTION_NAME>. User "。(替换<YOUR_FUNCTION_NAME>为您的函数的实际名称,来自代码中的FunctionName属性)
不幸的是,你必须指定所有函数,你不能包括通配符,比如指定"Function.*.User": "Information"。你 * 可以 * 执行"Function": "Information"将所有函数的日志级别设置为Information,但是这样也会出现一些额外的日志。
这 * 将 * 从日志记录中排除相关性和请求跟踪。请参阅this
如果您在任何时候想要包括请求和依赖项,则需要将以“Function”开头的所有类别的日志级别设置为Information
您可以从“主机”类别禁用日志记录,但它们是特殊类别,您现在可能需要这样做。

i2loujxw

i2loujxw2#

指定LogLevelx 1 m0n1x对我来说根本不起作用,即使显式地编写整个名称空间和函数名也是如此。但是,即使它起作用了,需要为每个函数编写一行这样的代码也是非常麻烦的,更不用说添加/删除/重命名函数和名称空间时的脆弱性了。生成的类别。目前看来工作正常。

"logLevel": {
  "default": "Information",
  "Azure": "Warning",
  "Function": "Warning",
  "Host": "Warning",
  "Microsoft": "Warning",
  "System": "Warning"
},

相关问题