using Serilog;
using Serilog.Context;
using Serilog.Filters;
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.FromLogContext()
.WriteTo.Logger(c =>
c.Filter.ByExcluding(Matching.WithProperty("FileOnly"))
.WriteTo.Console())
.WriteTo.Logger(c =>
c.Filter.ByExcluding(Matching.WithProperty("ConsoleOnly"))
.WriteTo.File("C:\\Temp\\SerilogTests.txt"))
.CreateLogger();
Log.Information("Hello, world! (Console and File)");
using (LogContext.PushProperty("ConsoleOnly", value: true))
{
Log.Information("Hello, world! (Console)");
}
using (LogContext.PushProperty("FileOnly", value: true))
{
Log.Information("Hello, world! (File Only)");
}
Log.CloseAndFlush();