私はSerilogasp.net MVC 5に取り組んでいます。すべて正常に動作しますが、設定をコードではなくweb.configに移動したいと思います。データベース接続、ファイルパスを移動する必要があります。また、データベース用とファイル用の2つの異なるレベルを指定する必要があります。
これはコードです
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();
PSconnectionString変数はweb.configから取得されました。
私はセリログにとても慣れていないので、本当に混乱しています。できるだけ早く再生できる場合はお願いします。
ありがとうございました
あなたがする必要があるのは、appSettings
Web.Config内のタグに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="" />
そして、上記はあなたがテキストファイルに書くのを助けます。
コードで行う必要があるのは、log関数を呼び出すだけで、構成で指定したものに自動的にログを記録します。
さらにヘルプが必要な場合は、次の2つのページを
参照してください。https://github.com/serilog/serilog-sinks-mssqlserver
https://github.com/serilog/serilog-sinks-file
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加