我正在使用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();
Run Code Online (Sandbox Code Playgroud)
它仅在我在日志消息中指定{Level}属性时才有效.
我试图使用:
Matching.WithProperty<LogEventLevel>("Level", l => l == LogEventLevel.Warning)
Run Code Online (Sandbox Code Playgroud)
但它也没有用.