【问题标题】:Serilog Configurable SQL Server SinkSerilog 可配置 SQL Server 接收器
【发布时间】:2015-11-04 11:07:05
【问题描述】:

我正在尝试使用可在web.config 中配置的 SQL Server Sink 设置 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;"/>

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

有没有人让它工作?

感谢回复

【问题讨论】:

  • 解决方法示例:public static ILogger Log = new LoggerConfiguration().WriteTo.MSSqlServer(ConfigurationManager.AppSettings["SqlLogConnectionString"], ConfigurationManager.AppSettings["SqlLogTable"]).ReadFrom.AppSettings().CreateLogger();

标签: sql-server web-config serilog sink


【解决方案1】:

你可能错过了:

<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"/>

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-27
  • 1970-01-01
  • 2019-10-23
相关资源
最近更新 更多