Я пытаюсь получить чистый журнал с Serilog из моего приложения ASP.NET Core.Чтобы очистить некоторые запросы изображений и команды БД из EF Core, я использую следующую фильтрацию:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.MinimumLevel.Override("System", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.Console(outputTemplate: "{Timestamp:o} [{Level:u3}] [{SourceContext}] {Site}: {Message}{NewLine}")
.WriteTo.Logger(lc => lc
.MinimumLevel.Information()
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
.MinimumLevel.Override("System", LogEventLevel.Warning)
.MinimumLevel.Override("Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware", LogEventLevel.Warning)
.MinimumLevel.Override("Microsoft.AspNetCore.Hosting.Internal.WebHost", LogEventLevel.Warning)
.MinimumLevel.Override("Microsoft.EntityFrameworkCore.Database.Command", LogEventLevel.Error)
.WriteTo.File("logs/log.txt", rollingInterval: RollingInterval.Hour, outputTemplate: "{Timestamp:o} [{Level:u3}] [{SourceContext}] {Site}: {Message}{NewLine}")
)
.CreateLogger();
Ожидаемый результат - это консольный журнал с большим количеством информации и файл журнала сгораздо меньше информации, потому что для Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware
, Microsoft.AspNetCore.Hosting.Internal.WebHost
и Microsoft.EntityFrameworkCore.Database.Command
я установил новый MinimumLevel
.
Но фактический результат заключается в том, что все INFORMATION
журналы Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware
, Microsoft.AspNetCore.Hosting.Internal.WebHost
и Microsoft.EntityFrameworkCore.Database.Command
все еще присутствуют в файле.