Serilog не принимает MinimumLevel для StaticFiles, хостинга и EF Core - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь получить чистый журнал с 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 все еще присутствуют в файле.

...