NLog nlog.config для дублирующих правил ядра asp.net - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь применить NLog к моему основному приложению ASP.NET. Я следую руководству с сайта NLog: https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-2

Ниже приведены правила, предложенные для nlog.config

<rules>
    <!--All logs, including from Microsoft-->
    <logger name="*" minlevel="Trace" writeTo="allfile" />

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

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

Две строки имеют одинаковые шаблоны имен логгеров

logger name = "*" minlevel = "Trace"

но для разных целей. Один для цели allfile, другой для цели ownFile-web

Это не имеет смысла для меня. Это кажется мне дубликатом. Любые комментарии? Спасибо!

1 Ответ

0 голосов
/ 28 августа 2018

Вам нужно прочитать правила сверху вниз. Есть 3 правила:

  1. Если уровень трассировки или выше, войдите в систему allfile. Таким образом, этот файл будет содержать все сообщения журнала (включая внешние)
  2. если уровень находится в максимальном значении (например, трассировка, отладка и информация), и если имя регистратора начинается с Microsoft., тогда пропускаются сообщения журнала (так как writeTo=) и stop обработка (обратите внимание на final=true)
  3. Если уровень трассировки или выше, войдите в систему ownFile-web. Но потому что (трассировка, отладка и информация) Microsoft. Сообщения журнала пропускаются (см. предыдущее правило), этот файл будет содержать только ваши собственные журналы + предупреждения и ошибки от Microsoft, а не трассировку, отладку и информацию от Microsoft.
...