首页 文章

使用MSSqlServer Serilog接收器输出JSON

提问于
浏览
0

如何配置MSSqlServer Serilog接收器以将属性输出为JSON而不是XML?我尝试将 RenderedCompactJsonFormatter 传递给 LoggerConfigurationMSSqlServerExtensions.MSSqlServer()formatProvider 参数,但是期望 IFormatProvider .

1 回答

  • 1

    您可以改为使用LogEvent列并从该列值中的JSON中拉出Properties对象 .

    var colOpts = new ColumnOptions();
    colOpts.Store.Add(StandardColumn.LogEvent);
    colOpts.Store.Remove(StandardColumn.Properties);
    var log = new LoggerConfiguration()
                  .WriteTo.MSSqlServer(connString, "Logs",columnOptions:colOpts)
                  .CreateLogger();
    

    注意,我还删除了“属性”列,以免在表中复制数据 .

相关问题