Недавно мы обновили несколько веб-приложений и консолей, чтобы использовать более новую версию 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>