【问题标题】:Reading NLog.config from NLog in API REST .NET从 API REST .NET 中的 NLog 读取 NLog.config
【发布时间】:2012-11-20 08:50:26
【问题描述】:

当我从我的 ASP.NET MVC4 项目中调用我的类库项目中的配置文件 (NLog.config) 时,我遇到了问题。

我使用单元测试项目测试了我的代码,并正确读取了配置文件,并在我在 NLog.config 上指定的文件上正确记录了日志,因此正确定义了 NLog.config。

我还在复制到输出目录设置中设置了“始终复制”,就像教程说的那样。

问题是当我从我的 ASP 项目中调用类库项目时,我意识到它没有制作任何类型的日志,当我调试时,我看到它没有从 NLog 中选择配置。 config,因此,我的项目不知道何时何地记录。

当我查看“ASP项目文件夹”/bin时,有来自NLog的文件:NLog.dll、NLog.config和NLog.xml,所以理论上,ASP项目可以毫无问题地访问NLog文件.

我从 NLog 阅读了教程,但我无法找到解决方案。只是无法理解为什么我的测试项目可以正常工作,但是当我从我的 ASP 项目中进行相同的调用时却无法正常工作。

这是我的 NLog 配置文件。

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

<targets>
  <target name="logfile" xsi:type="File" fileName="C:\logfile.txt" layout="${callsite:fileName=true} - ${longdate} - ${level:uppercase=true} - ${logger} - ${message}"/>
</targets>

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

在我的课程中,我以这种方式创建记录器:

private static Logger logger = LogManager.GetCurrentClassLogger();

谁能帮我解决这个问题?

【问题讨论】:

    标签: c# asp.net .net asp.net-mvc-4 nlog


    【解决方案1】:

    我想出了解决办法。

    似乎与复制到输出目录设置一样,对于 asp.net-mvc4 来说还不够。

    我不得不手动将 NLog.config 复制到解决方案资源管理器中的 asp 项目中。

    Project explorer http://imageshack.us/a/img849/2460/sol1o.png

    在本例中,我将 NLog.config 从 LoggingLibrary 复制到 LogWebApp 项目中,效果很好。

    您好!

    【讨论】:

      【解决方案2】:

      尝试打开 nlog 本身的internal logging,看看它会告诉你什么。

      <nlog internalLogFile="c:\log.txt" internalLogLevel="Trace">
      

      您可能会发现这是一个权利问题。

      【讨论】:

      • 我就是这样做的,但是出于同样的原因,无法从我的 ASP 项目中读取配置文件,也无法从那里读取 internalLogFile 参数。在我的测试项目中它进行内部日志记录,但我没有看到任何奇怪的东西。还是谢谢。
      • 你使用任何 LayoutRenderers 吗?
      • 我使用你在我描述的 NLog.config 文件中看到的那些。
      • 你能不先试试吗,说只是打印消息。您是否需要在应用程序启动时注册这些自定义项?
      • 我尝试从配置文件中退出所有布局参数,但问题仍然存在。 - 我的意思是,删除布局属性。
      猜你喜欢
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多