【问题标题】:How to configure Serilog.Exceptions.SqlServer in appsettings.json如何在 appsettings.json 中配置 Serilog.Exceptions.SqlServer
【发布时间】:2019-12-16 08:51:04
【问题描述】:

我正在使用 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,documentation 表示我还必须配置 Serilog.Exceptions.SqlServerSerilog.Exceptions.EntityFrameworkCore

根据本文档,这必须添加到浓缩器中。在 C# 代码中,这将是:

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

我不知道如何在appsettings.json 中做到这一点。谁能帮我解决这个问题?

【问题讨论】:

    标签: serilog serilog-exceptions


    【解决方案1】:

    目前这是不可能的,尽管如果有人实现了作者愿意 PR 。

    请参阅this issuethis discussionthis related question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多