NLog dotnet core 2.1 уровень игнорирования почты - PullRequest
0 голосов
/ 12 ноября 2018

У меня NLog работает в приложении .net core 2.1, и мои файловые и почтовые регистраторы работают, но по какой-то причине почтовый регистратор отправляет все, независимо от установленного уровня - nlog.config ниже

<logger name="*" minlevel="Warn" writeTo="mail" />

<!--Skip non-critical Microsoft logs and so log only own logs-->
<logger name="Microsoft.*" maxLevel="Info" final="true" />


<logger name="*" minlevel="Warn" writeTo="ownFile-web" />

Например, «ownFile-web» работает отлично и регистрирует только сообщения об ОШИБКАХ и ФАТАЛЬНЫХ сообщениях, но «почта» посылает мне все (INFO - каждый запрос и операция с БД), что не то, что я хочу, и, очевидно, замедляет работу приложения

Я новичок в NLog, так что, возможно, я что-то не так сделал в конфиге?

Я также установил это в Program.cs, надеясь установить глобальный уровень журнала предупреждений и выше, но это не помогло:

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
        .ConfigureLogging(logging =>
        {
            logging.ClearProviders();
            logging.SetMinimumLevel(LogLevel.Warning);

        }).UseNLog();

1 Ответ

0 голосов
/ 12 ноября 2018

По какой-то причине «minLevel» игнорировался - я нашел это, когда условия работали правильно:

    <logger name="*" minlevel="Warn" writeTo="mail">
  <filters>
    <when condition="level > LogLevel.Debug" action="Log" />
    <when condition="level == LogLevel.Info" action="Ignore" />
  </filters>
</logger>
...