如何在 Serilog 中使用 ReadFrom.AppSettings
How to use ReadFrom.AppSettings in Serilog
我刚刚发现了 Serilog,我很喜欢它。但是,我正在努力让它从 app.config 读取。
代码配置:
ILogger logger = new LoggerConfiguration()
.ReadFrom.AppSettings()
//.MinimumLevel.Verbose()
.Enrich.WithProcessId()
.Enrich.WithThreadId()
.Enrich.WithMachineName()
.Destructure.UsingAttributes()
//.WriteTo.MSSqlServer(@"Server=EVDVWADBV1;Database=AppLog;Trusted_Connection=True;", "Logs")
.CreateLogger();
Log.Logger = logger;
注释掉的部分是我想从配置文件中读取的配置值。
配置文件包含:
<appSettings>
<add key="serilog:minimum-level" value="Verbose"/>
<add key="serilog:using" value="Serilog.Sinks.MSSqlServer"/>
<add key="serilog:write-to:MSSqlServer.connectionString" value="Server=EVDVWADBV1;Database=AppLog;Trusted_Connection=True;"/>
<add key="serilog:writeto:MSSqlServer.tableName" value="Logs"/>
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\Logs\myapp-{Date}.txt" />
<add key="serilog:write-to:RollingFile.retainedFileCountLimit" value="10" />
</appSettings>
我正在使用以下 Serilog 包。
<package id="Serilog" version="1.5.14" targetFramework="net452" />
<package id="Serilog.Sinks.MSSqlServer" version="3.0.41" targetFramework="net452" />
我还将其添加为我的控制台应用程序的第一行。我在控制台上没有看到任何错误。
Serilog.Debugging.SelfLog.Out = Console.Out;
我错过了什么?
您的配置似乎有误:
serilog:writeto:MSSqlServer.tableName
缺少破折号:
serilog:write-to:MSSqlServer.tableName
我刚刚发现了 Serilog,我很喜欢它。但是,我正在努力让它从 app.config 读取。
代码配置:
ILogger logger = new LoggerConfiguration()
.ReadFrom.AppSettings()
//.MinimumLevel.Verbose()
.Enrich.WithProcessId()
.Enrich.WithThreadId()
.Enrich.WithMachineName()
.Destructure.UsingAttributes()
//.WriteTo.MSSqlServer(@"Server=EVDVWADBV1;Database=AppLog;Trusted_Connection=True;", "Logs")
.CreateLogger();
Log.Logger = logger;
注释掉的部分是我想从配置文件中读取的配置值。
配置文件包含:
<appSettings>
<add key="serilog:minimum-level" value="Verbose"/>
<add key="serilog:using" value="Serilog.Sinks.MSSqlServer"/>
<add key="serilog:write-to:MSSqlServer.connectionString" value="Server=EVDVWADBV1;Database=AppLog;Trusted_Connection=True;"/>
<add key="serilog:writeto:MSSqlServer.tableName" value="Logs"/>
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\Logs\myapp-{Date}.txt" />
<add key="serilog:write-to:RollingFile.retainedFileCountLimit" value="10" />
</appSettings>
我正在使用以下 Serilog 包。
<package id="Serilog" version="1.5.14" targetFramework="net452" />
<package id="Serilog.Sinks.MSSqlServer" version="3.0.41" targetFramework="net452" />
我还将其添加为我的控制台应用程序的第一行。我在控制台上没有看到任何错误。
Serilog.Debugging.SelfLog.Out = Console.Out;
我错过了什么?
您的配置似乎有误:
serilog:writeto:MSSqlServer.tableName
缺少破折号:
serilog:write-to:MSSqlServer.tableName