【问题标题】:Serilog with Graylog not logging带有 Graylog 的 Serilog 不记录
【发布时间】:2022-07-08 04:12:38
【问题描述】:

我有一个 Web API,我正在尝试使用 Serilog 将消息记录到 Graylog。现在无论我做什么,我的 Graylog 应用程序中都不会显示任何消息。这是我目前所拥有的:

这是在我的 Program.cs 中

var logger = new LoggerConfiguration().
    ReadFrom.Configuration(builder.Configuration).
    Enrich.FromLogContext().
    CreateLogger();

builder.Logging.ClearProviders();
builder.Logging.AddSerilog(logger);

这是我的配置:


  "Serilog": {
    "Using": [ "Serilog.Sinks.Graylog" ],
    "MinimumLevel": "Information",
    "WriteTo": [
      {
        "Name": "Graylog",
        "Args": {
          "hostnameOrAddress": "127.0.0.1",
          "port": "12201",
          "transportType": "Udp"
        }
      }
    ],
    "Properties": {
      "Application": "Centralized logging application"
    }
  },
  "AllowedHosts": "*"
}

我正在尝试记录:

_logger.LogError(0, new Exception("Exception Message"), "Message", new WeatherForecast());

有人可以帮帮我吗?我需要在 Graylog 中查看我的异常。

提前感谢很多

【问题讨论】:

    标签: c# asp.net-core serilog graylog


    【解决方案1】:

    您是否在 Graylog 端设置了输入?您是否已确认您可以收到该输入的消息?

    最后,我注意到您将其发送到本地主机。两个应用程序都在同一台机器上吗?如果没有,您将需要输入 Graylog 服务器的地址。

    【讨论】:

    • 是的,我的应用程序和 Graylog 服务器都在我的本地主机中运行。就“输入”而言,我不知道你的意思。什么输入?
    【解决方案2】:

    您的配置是正确的。现在您需要按照上面同事的要求配置 Graylog 端。为此,请转到 Graylog 界面,更具体地说,位于:System/Inputs -> Inputs。然后,使用 Graylog 的相应端口创建一个 GELF UDP 条目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多