У нас есть основное веб-приложение asp.net, которое пытается использовать Serilog с приемником SQL, и я хочу использовать только простую структуру таблиц, подобную приведенной ниже, для ведения журнала. Я получаю сообщение об ошибке, которое указывает, что мое сопоставление столбцов не совпадает с таблицей. Ну, это довольно просто, только я не вижу, что я пропускаю какие-либо столбцы.
Есть ли способ получить диагностическое сообщение о том, какие столбцы не видны?
CREATE TABLE [dbo].[Logs](
[Id] [INT] IDENTITY(1,1) NOT NULL,
[Message] [NVARCHAR](MAX) NULL,
[Level] [VARCHAR](100) NULL,
[TimeStamp] [DATETIME] NULL,
CONSTRAINT [PK_Logs] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Я использую файл appsettings.json, где у меня уже есть существующая строка подключения, как мне избежать необходимости определять строку подключения дважды?
"Serilog": {
"Using": [ "Serilog.Sinks.MSSqlServer" ],
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "MSSqlServer",
"Args": {
"connectionString": "Data Source=.;Initial Catalog=MyDb;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"tableName": "Logs",
"columnOptionsSection": {
"removeStandardColumns": [ "MessageTemplate","Exception", "Properties","LogEvent" ]
}
}
}
]
}
[обновить]
Я создал структуру таблицы по умолчанию, как на странице Github, затем начал отбрасывать те столбцы, которые мне не нужны один за другим. Когда я удалил «Свойства», я снова начал получать ошибки сопоставления, хотя я установил конфигурацию для удаления этого столбца.
Является ли «Свойства» обязательным полем в БД?