记录消息时,如何设置Serilog在SQL Server中调用存储过程?

用户名

记录消息时,如何设置Serilog在SQL Server中调用存储过程?我看到了如何使用MS SQL Server接收器将消息直接存储在数据库表中,但是我想改为调用存储过程。

尼古拉斯·布鲁姆哈特(Nicholas Blumhardt)

我不知道有任何预建的存储过程水槽的Serilog的。

您可以通过实现自己调用存储过程但是ILogEventSink界面:

class StoredProcedureSink : ILogEventSink
{
    public StoredProcedureSink(/* Connection info etc. */) { ... }

    public void Emit(LogEvent logEvent)
    {
        // Invoke sproc using logEvent data
    }
}

这些堵塞在配置时间:

var sink = new StoredProcedureSink(/* ... */);

Log.Logger = new LoggerConfiguration()
    .WriteTo.Sink(sink)
    .CreateLogger();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章