Как настроить Serilog.Exceptions.SqlServer в appsettings.json

Я использую appsettings.json для настройки Serilog. я добавилSerilog.Exceptions, который работает как шарм.

"Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Settings.Configuration", "Serilog.Exceptions" ],
    "MinimumLevel": {
        "Default": "Information",
        "Override": {
            "Microsoft": "Warning",
            "System": "Warning"
        }
    },
    "WriteTo": [
        { "Name": "Console" },
        {
            "Name": "File",
            "Args": {
                "path": "%TEMP%\\Logs\\serilog-configuration-sample.txt",
                "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception} {Properties:j}",
                "rollingInterval": "Day"
            }
        }
    ],
    "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId", "WithExceptionDetails" ]
}

Но поскольку я использую Sql Server и EF Core, в документации говорится, что мне также нужно настроитьSerilog.Exceptions.SqlServer а также Serilog.Exceptions.EntityFrameworkCore.

Согласно этой документации это должно быть добавлено к обогатителю. В коде C# это будет:

.Enrich.WithExceptionDetails(new DestructuringOptionsBuilder()
    .WithDefaultDestructurers()
    .WithDestructurers(new[] { new SqlExceptionDestructurer() }))

Я не могу понять, как это сделать в appsettings.json. Кто-нибудь может мне с этим помочь?

1 ответ

На данный момент это невозможно, хотя автор открыт для PR, если кто-то его реализует.

См. Эту проблему , это обсуждение и связанный с этим вопрос .

Другие вопросы по тегам