最近,我们更新了一些Web和控制台应用程序,以使用更新版本的NLog,即最新的4.5.11。 以前,我们使用的是4.4版本。
使用此4.4版本,我们能够在web.config或app.config文件中设置NLog配置。 根据文档,这仍然是可能的。但是,对于较新的版本,此功能不起作用。 如果我将相同的规则复制/粘贴到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>