У меня было похожее требование.После некоторых исследований я добавил следующее в класс Startup моего веб-интерфейса .net core 2.2:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Override("Microsoft", LogEventLevel.Error)
.WriteTo.Logger(lc => lc
.Filter.ByIncludingOnly(evt => evt.Level == LogEventLevel.Error)
.WriteTo.RollingFile("C:\\Temp\\erros-logs.txt"))
.WriteTo.Logger(lc => lc
.Filter.ByIncludingOnly(evt => evt.Level == LogEventLevel.Information)
.WriteTo.RollingFile("C:\\Temp\\info-logs.txt"))
.CreateLogger();
Если вы читаете настройки из файла appsettings.json и хотите использовать вышеизложенное, выдолжен передать вашу логику из файла.
Мой ответ в значительной степени вдохновлен следующим постом: Ограничить до уровня