.NET Core 1.1 中的 Serilog Exceptionless Sink

Serilog Exceptionless Sink in .NET Core 1.1

Serilog Exceptionless Sink 如何与 .NET Core 1.1 一起使用?

Serilog.Sinks.Exceptionless README 不清楚并且不适用于 .NET Core 1.1,我已将配置放在 appsettings.json 文件中。

{
  "Serilog": {
    "Using": ["Serilog.Sinks.Literate"],
    "MinimumLevel": ["Debug"],
    "WriteTo": [{
      "Name": "LiterateConsole"
    }],
    "Enrich": ["FromLogContext"],
    "Properties": {
      "Application": "MyAppServer"
    }
  }
}

Program.cs

public class Program
{
    public static void Main(string[] args)
    {
        Log.Logger = new LoggerConfiguration()
            .ReadFrom.Configuration(config)
            .CreateLogger();
    }
}

我显然也需要在某处设置 API 键。

任何人都可以清楚地说明如何配置吗?

我认为是

Log.Logger = new LoggerConfiguration()
    .WriteTo.Exceptionless(
        apiKey: "yourApiKey", 
        additionalOperation: b => b.AddTags("ASP.NET Core Example Logger"))
    .CreateLogger();

在 JSON 中,您可以向 "WriteTo" 列表中添加其他接收器,并在 "Args" 块中添加类似 apiKey 的参数:

{
  "Serilog": {
    "Using": ["Serilog.Sinks.Literate"],
    "MinimumLevel": ["Debug"],
    "WriteTo": [{
      "Name": "LiterateConsole"
    }, {
      "Name": "Exceptionless",
      "Args": { apiKey: "12345" }
    }],
    "Enrich": ["FromLogContext"],
    "Properties": {
      "Application": "MyAppServer"
    }
  }
}