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

Flo*_*che 6 .net c# logging serilog

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

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

我找到的解决方案是这样的:

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

你可以看到,这意味着我等待Timespan(0,0,0)的一段时间,它在"刷新接收器"之前为0,进入数据库.

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

先感谢您!