ログ記録に Serilog を使用していますが、ログ イベントを別のファイルに分割する方法がわかりません。たとえば、エラーを error_log-ddmmyyyy.txt に記録し、警告を warn_log-ddmmyyyy.txt に記録したいとします。
ここに私のロガー設定があります:
Log.Logger = new LoggerConfiguration()
.WriteTo.Logger(lc =>
lc.Filter.ByIncludingOnly(Matching.WithProperty("Level", "Warning"))
.WriteTo.RollingFile(
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Logs\warn_log-{Date}.txt"),
outputTemplate: OutputTemplate))
.WriteTo.Logger(lc =>
lc.Filter.ByIncludingOnly(Matching.WithProperty("Level", "Error"))
.WriteTo.RollingFile(
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Logs\error_log-{Date}.txt"),
outputTemplate: OutputTemplate))
.CreateLogger();
ログメッセージで{Level}プロパティを正確に指定した場合にのみ機能します。
私は使用しようとしていました:
Matching.WithProperty<LogEventLevel>("Level", l => l == LogEventLevel.Warning)
しかし、それもうまくいきませんでした。