Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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
C# 使用Serilog接收器将自定义列写入MS SQL Server_C#_Sql Server_.net Core_Serilog - Fatal编程技术网

C# 使用Serilog接收器将自定义列写入MS SQL Server

C# 使用Serilog接收器将自定义列写入MS SQL Server,c#,sql-server,.net-core,serilog,C#,Sql Server,.net Core,Serilog,我正在尝试使用Serilog.Sinks.MSSqlServer sink将自定义列写入日志表。根据,我添加了一个列选项部分: "columnOptionsSection": { "additionalColumns": [ { "ColumnName": "MachineName", "DataType": "nvarchar", "DataLength": 100 } ] } 我还有“Enrich”:[“FromLogContex

我正在尝试使用Serilog.Sinks.MSSqlServer sink将自定义列写入日志表。根据,我添加了一个
列选项部分

"columnOptionsSection": {
  "additionalColumns": [
    {
      "ColumnName": "MachineName",
      "DataType": "nvarchar",
      "DataLength": 100
    }
  ]
}
我还有
“Enrich”:[“FromLogContext”,“WithMachineName”,“WithThreadId”]
更进一步(它与
文件
接收器配合得很好)

日志已写入,但
MachineName
列为空@当前版本的接收器没有的AlexRiabov没有Microsoft.Extensions.Configuration支持。这与有一整节专门讨论它的文档相矛盾。他还表示,更新到最新的开发版本可以解决这个问题——但是,该版本会引发异常,因此我无法使用它

所以我的问题

  • 是否可以从appsettings.json定义用于MSSqlServer接收器的自定义列?如果是,怎么做

  • Serilog.Sinks.MSSqlServer
    sink是否仍在使用中?上一个主要版本似乎是在一年前发布的


  • 5.1.3-dev-00236为我工作

    确保已添加环境enrichers库

    我的appSettings 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
                            }
                        ]
                    }
                }
            }]
    

    5.1.3-dev-00236为我工作

    确保已添加环境enrichers库

    我的appSettings 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
                            }
                        ]
                    }
                }
            }]
    

    是的,我已经在prod中使用它好几个月了,它非常可靠。我会在您的文件中做的一个更改是增加batchPostingLimit。你不希望你的应用程序一直在写日志。我将我的记录设置为1000条或每5秒一次。我会记住这一点-我已经将它设置得非常低,用于开发目的-谢谢,我已经在prod中使用了几个月了,它非常可靠。我会在您的文件中做的一个更改是增加batchPostingLimit。你不希望你的应用程序一直在写日志。我将我的记录设置为1000条,或者每5秒一次。我会记住这一点-我已经将它设置得非常低,用于开发目的-谢谢