Приемник без исключений Serilog в .NET Core 1.1

Как можно использовать Serilog Exceptionless Sink с .NET Core 1.1?

Serilog.Sinks.Exceptionless README не clear и не работает для .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.

Кто-нибудь может дать четкое описание того, как это можно настроить, пожалуйста?


person Boggin    schedule 09.02.2017    source источник
comment
Работаю над проектом и управляю мойкой. Мне любопытно, как у вас работает серилогий сток?   -  person Blake Niemyjski    schedule 07.07.2017
comment
Раковина работала нормально в прототипе, но я больше не участвую в этом проекте, извините.   -  person Boggin    schedule 07.07.2017


Ответы (2)


В JSON вы можете добавить дополнительные приемники в список "WriteTo" и добавить аргументы типа apiKey в блок "Args":

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

Я думаю, что это

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