.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();
不行。仍然创建默认表。机器名称列未显示!