ASP.NET MVC5中的NLog仅记录第一个条目

时间:2014-04-25 11:59:05

标签: asp.net iis logging asp.net-mvc-5 nlog

在我的ASP.net MVC5应用程序中,我必须使用NLog。

如果我使用Visual Studio内置的IIS-express在我的开发机器上打开应用程序,一切都运行良好。

但如果我将程序发布到我们的测试环境IIS(IIS 7),会发生奇怪的事情:

在应用程序启动时,一切都按预期工作。正在记录每个日志记录条目。

但是,只要我的应用程序执行下一个请求,例如向/Controller/Method2发出请求,它就不会记录任何内容。

我可以在应用程序上浏览并且没有正在编写日志,除非在应用程序启动前几个条目时,只有在没有以前的.log文件时才会这样。

对我来说,这似乎是一个NLog-Config问题。

我的配置,如下:

<?xml version="1.0" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      throwExceptions="true" >

  <!-- http://nlog-project.org/wiki/File_target -->
  <!-- http://nlog-project.org/wiki/Layout_Renderers -->

  <targets>

    <target name="LogFile_Debug" xsi:type="File"
            layout="${longdate} [${processid} : ${threadid}] [${identity} - ${windows-identity}] ${level} - ${message} ${exception:Format=tostring}"
            fileName="D:/Logs/debug.log"
            archiveFileName="D:/Logs/Archive/debug.{#}.log"
            archiveEvery="Day"
            archiveNumbering="Rolling"
            maxArchiveFiles="60"
            concurrentWrites="true"
            keepFileOpen="false"
            encoding="ISO-8859-1">
    </target>
  </targets>

  <rules>
    <logger name="*" minlevel="Debug" writeTo="LogFile_Debug" />
  </rules>
</nlog>

我已经使用keepFileOpen="true"keepFileOpen="false"进行了测试,autoReload="true"autoReload="false"并没有任何效果。

有什么想法吗?

0 个答案:

没有答案