web.config asp.net mvc 5 中的 serilog AppSetting
serilog AppSetting in web.config asp.net mvc 5
我正在研究 Serilog asp.net MVC 5。一切正常,但我想将设置移动到 web.config 而不是代码。
我需要移动数据库连接,文件路径。
而且我还必须指定两个不同的级别,一个用于数据库,一个用于文件。
这是代码
var logFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"xxx.Web-{Environment.MachineName}.log");
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.Trace(LogEventLevel.Debug, "{Timestamp:u} [{Level}] {SourceContext}:: {CorrelationId} {Message}{NewLine}{Exception}")
.WriteTo.LiterateConsole(LogEventLevel.Debug, "{Timestamp:u} [{Level}] {SourceContext}:: {CorrelationId} {Message}{NewLine}{Exception}")
.WriteTo.RollingFile(logFileName, LogEventLevel.Debug,
"{Timestamp:u} [{Level}] {MachineName} {SourceContext}:: {CorrelationId} {Message}{NewLine}{Exception}",
retainedFileCountLimit: 31, fileSizeLimitBytes: null)
.WriteTo.MSSqlServer(connectionString, "LogUsers", LogEventLevel.Information)
.Enrich.WithExceptionDetails()
.Enrich.With<HttpRequestIdEnricher>()
.Enrich.FromLogContext()
.CreateLogger();
P.S。 connectionString 变量来自 web.config.
我对serilog很陌生,所以我真的很困惑。
请尽快重播。
谢谢
你需要做的是在Web.Config内的appSettings
标签中添加Serilog信息。
<add key="serilog:using:MSSqlSever" value="Serilog.Sinks.MSSqlServer" />
<add key="serilog:write-to:MSSqlServer.connectionString" value="nameOfConnectionString" />
<add key="serilog:write-to:MSSqlServer.tableName" value="Serilogs" />
<add key="serilog:write-to:MSSqlServer.autoCreateSqlTable" value="true" />
以上代码帮助您登录到 SQL 数据库。
<add key="serilog:using:File" value="Serilog.Sinks.File" />
<add key="serilog:write-to:File.path" value="log.txt" />
<add key="serilog:write-to:File.fileSizeLimitBytes" value="" />
以上内容可帮助您写入文本文件。
您在代码中所要做的就是调用日志函数,它会自动记录您在配置中指定的内容。
您可能需要查看这两个页面以获得更多帮助:
https://github.com/serilog/serilog-sinks-mssqlserver
https://github.com/serilog/serilog-sinks-file
我正在研究 Serilog asp.net MVC 5。一切正常,但我想将设置移动到 web.config 而不是代码。 我需要移动数据库连接,文件路径。 而且我还必须指定两个不同的级别,一个用于数据库,一个用于文件。
这是代码
var logFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"xxx.Web-{Environment.MachineName}.log");
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.Trace(LogEventLevel.Debug, "{Timestamp:u} [{Level}] {SourceContext}:: {CorrelationId} {Message}{NewLine}{Exception}")
.WriteTo.LiterateConsole(LogEventLevel.Debug, "{Timestamp:u} [{Level}] {SourceContext}:: {CorrelationId} {Message}{NewLine}{Exception}")
.WriteTo.RollingFile(logFileName, LogEventLevel.Debug,
"{Timestamp:u} [{Level}] {MachineName} {SourceContext}:: {CorrelationId} {Message}{NewLine}{Exception}",
retainedFileCountLimit: 31, fileSizeLimitBytes: null)
.WriteTo.MSSqlServer(connectionString, "LogUsers", LogEventLevel.Information)
.Enrich.WithExceptionDetails()
.Enrich.With<HttpRequestIdEnricher>()
.Enrich.FromLogContext()
.CreateLogger();
P.S。 connectionString 变量来自 web.config.
我对serilog很陌生,所以我真的很困惑。 请尽快重播。
谢谢
你需要做的是在Web.Config内的appSettings
标签中添加Serilog信息。
<add key="serilog:using:MSSqlSever" value="Serilog.Sinks.MSSqlServer" />
<add key="serilog:write-to:MSSqlServer.connectionString" value="nameOfConnectionString" />
<add key="serilog:write-to:MSSqlServer.tableName" value="Serilogs" />
<add key="serilog:write-to:MSSqlServer.autoCreateSqlTable" value="true" />
以上代码帮助您登录到 SQL 数据库。
<add key="serilog:using:File" value="Serilog.Sinks.File" />
<add key="serilog:write-to:File.path" value="log.txt" />
<add key="serilog:write-to:File.fileSizeLimitBytes" value="" />
以上内容可帮助您写入文本文件。
您在代码中所要做的就是调用日志函数,它会自动记录您在配置中指定的内容。
您可能需要查看这两个页面以获得更多帮助:
https://github.com/serilog/serilog-sinks-mssqlserver
https://github.com/serilog/serilog-sinks-file