У меня есть приложение .netcore, в котором я использую serilog для ведения журнала.
Я настраиваю ведение журнала в основном методе моей программы. Я записываю журналы уровня отладки в указанный файл c, а все остальные журналы - в другой файл. Я также хочу записывать журналы уровня трассировки в файл spcefi c, но в serilog нет перечисления в LogEventLevel
Enum. Я пытался использовать многословно, но это не сработало.
Мой код:
Log.Logger = new LoggerConfiguration()
//.ReadFrom.Configuration(configuration)
.MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning)
.MinimumLevel.Verbose()
.Enrich.FromLogContext()
.WriteTo.Console(
outputTemplate: OutputTemplate)
.WriteTo.Logger(l => l.Filter.ByIncludingOnly(e => e.Level == LogEventLevel.Debug).WriteTo.File(debugLogFilePath,
outputTemplate: OutputTemplate,
rollOnFileSizeLimit: true, fileSizeLimitBytes: 100000000, rollingInterval: RollingInterval.Day, retainedFileCountLimit: 3))
.WriteTo.Logger(l => l.Filter.ByExcluding(e => e.Level == LogEventLevel.Debug || e.Level == LogEventLevel.Verbose).WriteTo.File(logFilePath,
outputTemplate: OutputTemplate,
rollOnFileSizeLimit: true, fileSizeLimitBytes: 100000000, rollingInterval: RollingInterval.Day, retainedFileCountLimit: 3))
.WriteTo.Logger(l => l.Filter.ByIncludingOnly(e => e.Level == LogEventLevel.Verbose).WriteTo.File(traceLogPath,
outputTemplate: OutputTemplate,
rollOnFileSizeLimit: true, fileSizeLimitBytes: 100000000, rollingInterval: RollingInterval.Day, retainedFileCountLimit: 3))
.CreateLogger();