当我从我的 ASP.NET MVC4 项目调用它时,我从我的类库项目读取配置文件 (NLog.config) 时遇到问题。
我使用单元测试项目测试了我的代码,并正确读取了配置文件,并在我在 NLog.config 上指定的文件上进行了正确的日志记录,因此正确定义了 NLog.config。
我还在 Copy to Output Directory 设置中设置了“Copy always”,就像教程所说的那样。
问题是,当我从我的 ASP 项目调用类库项目时,我意识到它没有生成任何类型的日志,当我调试时,我看到它没有从 NLog 中选择配置。配置,因此,我的项目不知道何时何地记录。
当我查看“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>
在我的类(class)中,我以这种方式创建记录器:
private static Logger logger = LogManager.GetCurrentClassLogger();
谁能帮我解决这个问题?
最佳答案
我找到了解决方案。
似乎复制到输出目录设置,对于 asp.net-mvc4 是不够的。
我必须手动将 NLog.config 复制到解决方案资源管理器中的 asp 项目本身。
Project explorer http://imageshack.us/a/img849/2460/sol1o.png
在这个例子中,我将 NLog.config 从 LoggingLibrary 复制到 LogWebApp 项目中,它运行良好。
您好!
关于c# - 在 API REST .NET 中从 NLog 读取 NLog.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13469474/