Переопределить минимальный уровень Serilog для одного случая - PullRequest
0 голосов
/ 27 июня 2019

Я использую Serilog в приложении Web API Core.

Я установил минимальный уровень на Warning.

Но у меня есть один случай, когда я хочу записать сообщение уровня Information.В частности, я хочу регистрировать HttpRequests в конечную точку v1/health.

Источник этих сообщений Microsoft.AspNetCore.Hosting.Internal.WebHost.

Я пробовал это, но у меня все еще есть журналы информационного уровня из многих источников.

Log.Logger = new LoggerConfiguration()
      .MinimumLevel.ControlledBy(LevelSwitch) //set to information
      .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
      .MinimumLevel.Override("System", LogEventLevel.Warning)
      .MinimumLevel.Override("MyNamespace", LogEventLevel.Warning)
      .MinimumLevel.Override("Microsoft.AspNetCore.Hosting.Internal.WebHost", LogEventLevel.Information)

Я также пытался использовать фильтр, но он не работал для меня, возможно, я 'На меня влияет this - «Минимумы регистратора и поглотителя - важно понимать, что уровень каротажа может быть повышен только для поглотителей, но не понижен».Фильтры менее эффективны, поскольку сообщение журнала создается, а затем фильтруется.

...