Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core 2.1.2 serilog postgresql接收器自定义列问题_Postgresql_.net Core_Serilog - Fatal编程技术网

.net core 2.1.2 serilog postgresql接收器自定义列问题

.net core 2.1.2 serilog postgresql接收器自定义列问题,postgresql,.net-core,serilog,Postgresql,.net Core,Serilog,使用.net core 2.1.2、Serilog 2.9和Serilog.Sinks.PostgreSQL 2.1。 在appsettings.json中,我有下面的Serilog部分。在Program.cs中 Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(configuration, "Serilog") .Enrich.FromLogContext()


使用.net core 2.1.2、Serilog 2.9和Serilog.Sinks.PostgreSQL 2.1。
appsettings.json
中,我有下面的Serilog部分。在Program.cs中

Log.Logger = new LoggerConfiguration()
               .ReadFrom.Configuration(configuration, "Serilog")
               .Enrich.FromLogContext()
               .CreateLogger();

我需要添加一个自定义列,machine\u name。但是,创建的表没有此附加列。我应该在数据库中手动添加它吗?
我可以通过填写此机器名称字段来充实日志吗

谢谢和问候

  "Serilog": {
    "Using": [ "Serilog.Sinks.PostgreSQL" ],
    "MinimumLevel": "Information",
    "WriteTo": [
      {
        "Name": "PostgreSQL",
        "Args": {
          "connectionString": "Server=localhost;Port=55001;Database=mydb;Username=postgres;Password=postgres",
          "tableName": "public.mylogs",
          "needAutoCreateTable": true,
          "batchPostingLimit": 1,
          "columnOptionsSection": {
            "customColumns": [              
              {
                "ColumnName": "machine_name",
                "DataType": "nvarchar",
                "DataLength": 256,
                "AllowNull": true

              }
            ]
          }
        }
      }
    ]   
  }```


在您的BuildWebHost中尝试此功能

 return WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseSerilog((hostingContext, loggerConfiguration) => loggerConfiguration.ReadFrom
            .Configuration(hostingContext.Configuration))
            .Build();
返回WebHost.CreateDefaultBuilder(args)
.UseStartup()
.UseSerilog((hostingContext,loggerConfiguration)=>loggerConfiguration.ReadFrom
.Configuration(hostingContext.Configuration))
.Build();

不行。仍然创建默认表。机器名称列未显示!