我正在使用 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)
但它也没有用。