Конфигурация NLog внутри web.config или app.config игнорируется в версии 4.5.11 - PullRequest
0 голосов
/ 26 февраля 2019

Недавно мы обновили несколько веб-приложений и консолей, чтобы использовать более новую версию NLog, последнюю версию 4.5.11.Ранее мы использовали версию 4.4.

В этой версии 4.4 мы смогли установить конфигурацию NLog внутри файла web.config или app.config.Согласно документации, это все еще возможно.Однако с более новой версией это не работает.Я получаю только некоторые записи, если копирую / вставляю те же правила в файл nlog.config.

Конечно, я могу сделать это для всех своих приложений, но есть шанс, что мы что-то упустим.По какой причине он больше не читается из файла web / app.config?

Я также пытался установить атрибут throwExceptions="true", но он не дал никаких исключений.

Такжеесли я установлю внутренний файл журнала в атрибуте внутри моего web.config, он все равно не будет работать.Внутренний журнал, тоже пуст.Протестировано с internalLogLevel="Info" и internalLogLevel="Trace"

Если я установлю его в Application_Start, у меня будет только

2019-02-27 10:23:33.1899 Info Shutting down logging...
2019-02-27 10:23:33.1899 Info Logger has been shut down.

Это мой Web.Config (частично)

  <configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
  </configSections>
...
  <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        internalLogFile="c:\temp\internal-nlog.txt" internalLogLevel="Info">
   <targets>
      <target name="logfile" xsi:type="File" fileName="${basedir}/Log/${shortdate}.log" layout="${date:format=dd-MM-yyyy HH\:mm\:ss.fff} [${level}] ${callsite} ${message}${onexception:${newline}EXCEPTION OCCURRED\:${exception:format=tostring}}" />
    <target name="warnfile" xsi:type="File" fileName="${basedir}/Log/warn/${shortdate}.log" layout="${date:format=dd-MM-yyyy HH\:mm\:ss.fff} [${level}] ${callsite} ${message}${onexception:${newline}EXCEPTION OCCURRED\:${exception:format=tostring}}" />
    </targets>
    <rules>
      <logger name="*" minlevel="Error" writeTo="logfile">
        <filters>
          <when condition="contains('${message}', 'ThreadAbortException')" action="Ignore" />
        </filters>
      </logger>
      <logger name="*" level="Debug" writeTo="warnfile">
        <filters>
          <when condition="contains('${message}', 'ThreadAbortException')" action="Ignore" />
        </filters>
      </logger>
    </rules>
  </nlog>
...