.Net Core Serilog SQL日志到自定义列

时间:2018-10-11 11:41:58

标签: sql logging asp.net-core serilog

在.Net Core应用程序中,我添加了Serilog来将错误记录到SQL数据库中。如果我默认设置所有内容并使用标准列,则一切正常。如果我想扩展以将值写入自定义值,则会遇到问题。

数据库和表是较早创建的,并且日志记录可以正常工作,只是它没有在我的自定义列中写入任何内容。

这是配置。

 "WriteTo": [
  {
    "Name": "MSSqlServer",
    "Args": {
      "connectionString": "Server=.\\SQLEXPRESS;Database=WebLogging;Trusted_Connection=True;",
      "tableName": "Logs",
      "autoCreateSqlTable": true,
      "columnOptionsSection": {
        "removeStandardColumns": [ "Properties" ],
        "customColumns": [
          {
            "ColumnName": "UserName",
            "DataType": "varchar",
            "DataLength": 50
          }
        ]
      }
    }
  }
]

“属性”列仍用于存储数据,而“用户名”列始终为空。它将自定义属性写入“属性”列。

ILogger,以控制器方法注入。

 _logger.LogError("Error from .NET Core {UserName}", "Test");

enter image description here

版本:Serilog.AspNetCore 2.1.1,Serilog.Sinks.MSSqlServer 5.1.2

0 个答案:

没有答案