NLog无法在发布模式下工作

Pra*_*sad 14 c# asp.net-mvc nlog

我正在使用NLog来记录我的asp.net mvc(C#)应用程序中的异常.

NLog无法在发布模式下工作.在调试模式下运行时也一样.

可能是什么问题?有没有解决这个问题?

Joh*_*ski 5

我和你有同样的问题:

  • ASP.NET MVC 3
  • NET 4
  • IIS 7
  • 释放模式

我尝试更改目录,并将权限更改均无济于事。我什至尝试启用内部日志记录,但那还是行不通!没有失败,没有例外,什么都没有!

经过更多调查后,我找到了解决方案。 由于某些原因,NLog根本没有加载配置文件。 我以编程方式启用了内部日志记录后才意识到这一点。内部日志记录如下:

2012-02-13 11:34:40.3181 Debug Targets for MyMvcController by level:
2012-02-13 11:34:40.3181 Debug Trace =>
2012-02-13 11:34:40.3181 Debug Debug =>
2012-02-13 11:34:40.3181 Debug Info =>
2012-02-13 11:34:40.3181 Debug Warn =>
2012-02-13 11:34:40.3181 Debug Error =>
2012-02-13 11:34:40.3181 Debug Fatal =>
Run Code Online (Sandbox Code Playgroud)

这基本上是说没有为任何日志级别定义目标!绝对不正确!

我的NLog配置文件非常简单(它设置为“复制到输出目录”):

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwExceptions="true">
  <targets>
    <target name="file" xsi:type="File" fileName="${basedir}/MyApplication.log" />
  </targets>
  <rules>
    <logger name="*" minlevel="Trace" writeTo="file" />
  </rules>
</nlog>
Run Code Online (Sandbox Code Playgroud)

我仍然不确定为什么会这样,但是将NLog配置移到web.config中可以直接解决问题。

  • 请忽略它现在正在工作,也许你应该提到需要一个部分声明 https://gist.github.com/kishorejangid/4004715 (2认同)

Per*_*Dev 1

设置环境变量:NLOG_INTERNAL_LOG_LEVEL 和 NLOG_INTERNAL_LOG_FILE,重新运行您的发布版本,然后检查日志文件看看出了什么问题