如何在 appsettings.json 中配置 serilog-sinks-slack

How do I configure serilog-sinks-slack in appsettings.json

我正在尝试在我的 asp.net 核心应用程序上配置 serilog,我可以使用启动配置进行设置,但我不能在 appsettings.json 上进行。 当我这样做时:

我正在使用这个水槽:

https://github.com/mgibas/serilog-sinks-slack

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
Logger log = new LoggerConfiguration()
                .MinimumLevel.Verbose()
                .WriteTo.Slack(new SlackSinkOptions()
                {
                    WebHookUrl = "https://hooks.slack.com/services/xxx/yyy/zzz",
                    CustomChannel = "@myuser"
                }).CreateLogger();
    loggerFactory.AddSerilog(log);

它工作正常,我可以在我的 Slack 频道中看到消息。 然后我尝试将它引入我的应用程序设置,所以我将其更改为:

Logger log = new LoggerConfiguration()
.MinimumLevel.Verbose()
.ReadFrom.Configuration(Configuration)
.CreateLogger();

以及应用程序配置:

{
  "Serilog": {
    "MinimumLevel": "Debug",
    "WriteTo": [
      {
        "Name": "Slack",
        "SlackSinkOptions":
        {
          "WebHookUrl": "https://hooks.slack.com/services/xxx/yyy/zzz",
          "CustomChannel": "@myuser"
        }
      }
    ]
  },
  "AllowedHosts": "*"
}

但它不会在 slack 中写入任何内容。我也试过:

{
  "Serilog": {
    "MinimumLevel": "Debug",
    "WriteTo": [
      {
        "Name": "Slack",
        "WebHookUrl": "https://hooks.slack.com/services/xxx/yyy/zzz",
        "CustomChannel": "@myuser"

      }
    ]
  },
  "AllowedHosts": "*"
}

知道我的 config/setup 有什么问题吗?

啊!我应该使用 Args 而不是 Options 作为评论

中提到的 Hugo
{
  "Serilog": {
    "MinimumLevel": "Debug",
    "WriteTo": [
      {
        "Name": "Slack",
        "Args":
        {
          "WebHookUrl": "https://hooks.slack.com/services/xxx/yyy/zzz",
          "CustomChannel": "@myuser"
        }
      }
    ]
  },
  "AllowedHosts": "*"
}