#asp.net-core #entity-framework-core #serilog
#asp.net-core #entity-framework-core #serilog
Вопрос:
Я пытаюсь получить чистый журнал с Serilog из моего ASP.NET Основное приложение. Чтобы очистить некоторые запросы изображений и команды базы данных от ядра EF, я использую следующую фильтрацию:
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
по-прежнему присутствуют в файле.