Serilog регистрирует только предупреждения, ошибки и критические

У меня есть следующая запись в моих настройках приложения:

      {
  "Serilog": {
    "WriteTo": [
      {
        "Name": "Console",
        "LogLevel": {
          "TestProj": "Information"
        }
      },
      {
        "Name": "File",
        "Args": {
          "path": "logs/testlog.txt",
          "rollingInterval": "Day"
        },
        "LogLevel": {
          "TestProj": "Warning",
          "Microsoft.AspNetCore": "Warning"
        }
      }
    ]
  }
}

В моемControllerУ меня регистрируется следующее информационное сообщение:

          public WeatherForecastController(ILogger<WeatherForecastController> logger, IWeatherService weatherService)
    {
        _logger = logger;
        _weatherService = weatherService;
    }

        public ActionResult<IEnumerable<WeatherForecast>> Get()
    {
        _logger.LogInformation("Called Get Method");
        return Ok(_weatherService.GetWeatherSummary());
    }

ГдеWeatherForecastControllerнаходится вnamespace TestProj.API.Controllers

Когда я проверяюtestlog.txtЯ вижу запись в журнале

      [INF] Called Get Method

вместе с кучей других информационных журналов, таких как:

      [INF] Now listening on: http://localhost:5000
[INF] Application started. Press Ctrl+C to shut down.

Консоль, кажется, показывает информацию и вверх, но файл, похоже, тот же. Есть ли способ заставить файл показывать толькоWarning/Error/Critical? И чтобы избежать даже того, что сейчас слушает...

1 ответ

Я получил его для работы с ниже:

      {
   "Serilog":{
      "MinimumLevel":"Information",
      "WriteTo":[
         {
            "Name":"Console"
         },
         {
            "Name":"File",
            "Args":{
               "path":"logs/testlog_d.txt",
               "rollingInterval":"Day",
               "restrictedToMinimumLevel":"Warning"
            }
         }
      ]
   }
}
Другие вопросы по тегам