使用 Serilog 接收器将自定义列写入 MS SQL 服务器
Writing custom columns to MS SQL Server with Serilog sink
我正在尝试使用 Serilog.Sinks.MSSqlServer 接收器将自定义列写入日志 table。根据 documentation,我添加了 columnOptionsSection
:
"columnOptionsSection": {
"additionalColumns": [
{
"ColumnName": "MachineName",
"DataType": "nvarchar",
"DataLength": 100
}
]
}
我还有 "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ]
再往下(它与 File
sink 一起工作正常)。
日志已写入,但 MachineName
列为 NULL。 @AlexRiabov 当前版本的接收器没有 Microsoft.Extensions.Configuration
支持。这与有一整节专门讨论它的文档相矛盾。他还表示更新到最新的开发版本可以解决问题 - 但是,该版本会抛出异常,所以我无法使用它。
所以我的问题...
是否可以定义自定义列以与来自 appsettings.json 的 MSSqlServer 接收器一起使用?如果可以,怎么做?
Serilog.Sinks.MSSqlServer
sink 还在开发中吗?上一次主要发布似乎是一年多以前的事了。
5.1.3-dev-00236 对我有用
确保您添加了 Environment enrichers 库
我的应用程序设置 json:
"Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
"WriteTo": [{
"Name": "MSSqlServer",
"Args": {
"connectionString": --removed--,
"schemaName": "dbo",
"tableName": "Logs",
"autoCreateSqlTable": false,
"restrictedToMinimumLevel": "Debug",
"batchPostingLimit": 5,
"period": "0.00:00:02",
"columnOptionsSection": {
"addStandardColumns": [ "LogEvent" ],
"removeStandardColumns": [ "MessageTemplate", "Properties" ],
"additionalColumns": [
{
"ColumnName": "UtcTimeStamp",
"DataType": "datetimeoffset",
"AllowNull": false
},
{
"ColumnName": "MachineName",
"DataType": "nvarchar",
"DataLength": 128,
"AllowNull": false
}
]
}
}
}]
我正在尝试使用 Serilog.Sinks.MSSqlServer 接收器将自定义列写入日志 table。根据 documentation,我添加了 columnOptionsSection
:
"columnOptionsSection": {
"additionalColumns": [
{
"ColumnName": "MachineName",
"DataType": "nvarchar",
"DataLength": 100
}
]
}
我还有 "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ]
再往下(它与 File
sink 一起工作正常)。
日志已写入,但 MachineName
列为 NULL。 @AlexRiabov Microsoft.Extensions.Configuration
支持。这与有一整节专门讨论它的文档相矛盾。他还表示更新到最新的开发版本可以解决问题 - 但是,该版本会抛出异常,所以我无法使用它。
所以我的问题...
是否可以定义自定义列以与来自 appsettings.json 的 MSSqlServer 接收器一起使用?如果可以,怎么做?
Serilog.Sinks.MSSqlServer
sink 还在开发中吗?上一次主要发布似乎是一年多以前的事了。
5.1.3-dev-00236 对我有用
确保您添加了 Environment enrichers 库
我的应用程序设置 json:
"Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
"WriteTo": [{
"Name": "MSSqlServer",
"Args": {
"connectionString": --removed--,
"schemaName": "dbo",
"tableName": "Logs",
"autoCreateSqlTable": false,
"restrictedToMinimumLevel": "Debug",
"batchPostingLimit": 5,
"period": "0.00:00:02",
"columnOptionsSection": {
"addStandardColumns": [ "LogEvent" ],
"removeStandardColumns": [ "MessageTemplate", "Properties" ],
"additionalColumns": [
{
"ColumnName": "UtcTimeStamp",
"DataType": "datetimeoffset",
"AllowNull": false
},
{
"ColumnName": "MachineName",
"DataType": "nvarchar",
"DataLength": 128,
"AllowNull": false
}
]
}
}
}]