【问题标题】:How change log severity ? When I use dotnet core with GCP Logger如何更改日志严重性?当我将 dotnet core 与 GCP Logger 一起使用时
【发布时间】:2022-06-28 18:41:42
【问题描述】:

我有一个 dotnet core 6.0 API 项目, 它在 GKE 上运行

我的目的是将日志写入 Google Cloud 并期望得到不同的severity 和不同的LogLevel

我该怎么办??

这就是我所做的,
首先,我添加 Google.Cloud.Diagnostics.AspNetCore3 NuGet 包 第二,我像这样添加GoogleDiagnosticsForAspNetCore

var builder = WebApplication.CreateBuilder(args);
builder.Services
        .AddGoogleDiagnosticsForAspNetCore(loggingOptions: new LoggingServiceOptions
        {
            Options = LoggingOptions.Create()
        });

第三,我在app中添加一些日志

_logger.LogDebug(msg);
_logger.LogError(msg);
_logger.LogCritical(msg);

但无论如何我从 Google Logs Explorer 获得了日志 如下所示,严重性为“INFO”,来自 LogLevel 为“Erorr”的日志

{
  "insertId": "skip",
  "jsonPayload": {
    "State": {
      "{OriginalFormat}": "Test logs of Error ",
      "Message": "Test logs of Error "
    },
    "EventId": 0,
    "Category": "Deposit.Controllers.InfoController",
    "LogLevel": "Error",
    "Message": "Test logs of Error "
  },
  "resource": {},
  "timestamp": "2022-06-10T08:52:23.672316263Z",
  "severity": "INFO",
  "labels": {},
  "logName": "projects/myproject/logs/stdout",
  "receiveTimestamp": "2022-06-10T08:52:25.967313013Z"
}

是否可以将 LogLevel 映射到严重性?

【问题讨论】:

    标签: c# .net-core google-cloud-platform


    【解决方案1】:

    您在此处粘贴的日志不是Google.Cloud.Diagnostics.AspNetCore3 捕获的日志,而是它们似乎是GKE Logging Agent 捕获的日志。我建议您关注他们的Support Channels 将其报告为可能的错误。 我相当肯定这些是代理捕获的日志,因为 "logName": "projects/myproject/logs/stdout" 中所述Viewing your GKE logs

    Google.Cloud.Diagnostics.AspNetCore3(默认)的日志名称将改为 "logName": "projects/myproject/logs/aspnetcore"。如果您找不到这些日志,请在 https://github.com/googleapis/google-cloud-dotnet 中创建问题,我们将能够进一步调查。

    【讨论】:

      猜你喜欢
      • 2012-06-06
      • 2019-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多