首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法让NLog抛出异常或编写日志(在我的机器上工作)

无法让NLog抛出异常或编写日志(在我的机器上工作)
EN

Stack Overflow用户
提问于 2018-08-08 20:23:38
回答 1查看 952关注 0票数 1

我的工作站上运行着一个.Net webapi (Win10,IIS10),一切都很有魅力。但是,当我将它推到生产框(Win7,IIS6)时,NLog既不会写日志,也不会抛出异常。我的NLog.config在这里:

代码语言:javascript
复制
 <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      throwExceptions="true"
   >

  <targets async="true">
    <target
      name="logfile"
      xsi:type="File"
      layout="${date}|${level:uppercase=true}${message}"
      fileName="C:\inetpub\wwwroot\myapp\App_Data\webapi.log"
    />
  </targets>

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

无论我将fileName属性设置为什么,它都不会在Win7框上写入日志,也不会抛出异常。我会在Windows ->系统下的事件查看器中看到异常,对吗?

请注意,我没有对目标Win7框的管理访问权,但有足够的提升权限将文件写入www.root。

我遗漏了什么?一个异常或某种类型的错误将是最好的。

编辑:实际上,它在IIS 10/IIS 10上根本不工作,尽管它在Visual中运行时工作得很好(IIS Express?)。Visual和IIS管理器都以“管理员身份”运行。事件查看器中没有日志文件输出,没有异常,没有任何异常。???

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-08 21:10:22

有关于NLog的https://github.com/NLog/NLog/wiki/Logging-Troubleshooting故障排除指南。

当您没有从NLog获得日志输出时,这可能是因为以下原因:

  • NLog找不到配置文件。当NLog.config文件在Visual中配置为Build Action = NoneCopy to Output Directory = Do not copy时,就会发生这种情况。设置Build Action = Content"Copy to Output Directory = Copy if newer以修复此问题)
  • 配置文件有效吗?
  • 日志规则不正确或未定义任何规则。
  • 应用程序跟踪代码不正确。
  • 目标在运行时出现问题(例如缺少权限)
  • 日志被写入不同的位置。

还可以启用内部日志:https://github.com/NLog/NLog/wiki/Internal-logging

Update:如果您的内部日志不工作,那么就很难诊断出问题。

您可以启用抛出代码的异常:

代码语言:javascript
复制
LogManager.ThrowExceptions = true;
LogManager.ThrowConfigExceptions = true;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51755072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档