Serilog WriteTo MsSqlServer - LoggerConfiguration,用于同步完成插入

时间:2017-02-03 11:34:36

标签: c# .net logging serilog

我最近遇到了Serilog在Web应用程序中使用的问题。该问题是由Serilogs默认行为导致的,当登录到数据库时不立即插入日志,而是将其插入接收器并等待一定时间或一些日志,然后再将它们插入数据库。在我看来,这是一种异步行为。

我想要做的是配置我的记录器以将日志插入数据库而无需等待(同步)。

我发现的解决方案是:

var logger = new LoggerConfiguration()
            .WriteTo
            .MSSqlServer(connectionString, 
                        tableName, 
                        columnOptions: columnOptions, 
                        autoCreateSqlTable: true,
                        period: new TimeSpan(0, 0, 0))
            .CreateLogger();

,正如您所看到的,意味着我等待Timespan(0,0,0)的一段时间,在“刷新接收器”之前为0。

有没有人找到替代解决方案? 上述解决方案是否有任何理由不是“最佳实践”?

提前谢谢!

0 个答案:

没有答案