【问题标题】:Serilog.Sinks.Postgresql: Read configuration from appsettings.jsonSerilog.Sinks.Postgresql:从 appsettings.json 读取配置
【发布时间】:2018-06-15 11:50:39
【问题描述】:

Serilog.Sinks.PostgreSQL sink 在 asppsettings.json 中有自己的配置吗?

类似这样的:

"Serilog": {
...
"WriteTo": [
{
    "Name": "PostgreSQL",
    "Args": {
        "connectionStringName": "Default",
        "tableName": "Log",
        ...
        "columnOptions": [
            {
                ...
            }
       ]
     }
 },
 ...

【问题讨论】:

    标签: json postgresql asp.net-core configuration serilog


    【解决方案1】:

    您可以使用Serilog.Settings.Configuration 从那里添加您自己的配置。 这里有一个很好的例子:github of seriog app-setting

    我猜在你的情况下它看起来像:

     var configuration = new ConfigurationBuilder()
                    .SetBasePath(Directory.GetCurrentDirectory())
                    .AddJsonFile(path: "appsettings.json", optional: false, reloadOnChange: true)
                    .Build();
    
                var logger = new LoggerConfiguration()
                    .ReadFrom.Configuration(configuration)
                    .CreateLogger();
    

    当你的配置看起来像这样:

    {
      "Serilog": {
        "Using":  ["Serilog.Sinks.Postgresql"],
        "MinimumLevel": "Debug",
        "WriteTo": [
          { "Name": "Console" },
          { "Name": "File", "Args": { "path": "%TEMP%\\Logs\\serilog-configuration-sample.txt" } }
        ],
        "Enrich": ["FromLogContext", "WithMachineName", "WithThreadId"],
        "Destructure": [
          { "Name": "With", "Args": { "policy": "Sample.CustomPolicy, Sample" } },
          { "Name": "ToMaximumDepth", "Args": { "maximumDestructuringDepth": 4 } },
          { "Name": "ToMaximumStringLength", "Args": { "maximumStringLength": 100 } },
          { "Name": "ToMaximumCollectionCount", "Args": { "maximumCollectionCount": 10 } }
        ],
        "Properties": {
            "Application": "Sample"
        }
      }
    }
    

    您可以在这里获取更多信息gitub of Serilog setting

    【讨论】:

    • 很抱歉,您的配置中没有关于 Postgresql 接收器设置的代码行!请查看我上面的虚构配置,并尝试将其重写为真正的语法(如果有)。
    • “使用”:[“Serilog.Sinks.Postgresql”],
    • 天哪!缺少最重要的 - 列设置示例。
    • 我给了你一个来自 github 自述文件的例子,因为你没有要求我告诉你如何配置。我试图向您展示您缺少的内容,并且可以从 asppsettings.json 获取您的配置 - 我写道它看起来像......我写的是一个通用配置,因为您并没有真正分享您的配置
    猜你喜欢
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2019-07-06
    相关资源
    最近更新 更多