Serilog 可配置 SQL 服务器接收器

Serilog Configurable SQL Server Sink

我正在尝试使用可在 web.config.

中配置的 SQL 服务器接收器设置 Serilog 记录器

有没有办法以类似滚动文件接收器的方式执行此操作?

示例:

<add key="serilog:write-to:RollingFile.pathFormat" value="C:\Logs\Log_File_{Date}.txt" />

我已经下载了 serilog 的 MSSQL 扩展,它可以在类似 (C#) 的代码中运行:

public ILogger Log = new LoggerConfiguration().WriteTo.MSSqlServer(@"Server=.;Database=LogDatabase;Trusted_Connection=True;", "Logs").ReadFrom.AppSettings().CreateLogger();

但不喜欢:

<add key="serilog:write-to:MSSqlServer" value="Server=.;Database=LogDatabase;Initial Catalog=Logs;Trusted_Connection=True;"/>

当然有可能解决这个问题,但出于好奇和更好看的代码,我仍然想知道是否可行。

有没有人让它工作?

感谢回复

您可能遗漏了:

<add key="serilog:using:MSSqlSever" value="Serilog.Sinks.MSSqlServer" />

您还需要命名 connectionString 参数,您还需要 tableName

<add key="serilog:write-to:MSSqlServer.connectionString" value="Server=.;Database=..."/>
<add key="serilog:write-to:MSSqlServer.tableName" value="Logs"/>