在版本4.5.11中忽略了web.config或app.config中的NLog配置

时间:2019-02-26 11:36:07

标签: c# web-config app-config nlog

最近,我们更新了一些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>

0 个答案:

没有答案