首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在API REST .NET中从NLog读取NLog.config

在API REST .NET中从NLog读取NLog.config
EN

Stack Overflow用户
提问于 2012-11-20 16:50:26
回答 2查看 2K关注 0票数 3

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

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

我还在Copy to Output Directory设置中设置了"Copy always“,就像教程所说的那样。

问题是,当我从我的ASP项目调用类库项目时,我意识到这并没有生成任何类型的日志,当我调试时,我发现它没有从NLog.config中选择配置,因此,我的项目不知道何时何地进行日志记录。

当我打开"ASP项目文件夹“/bin时,里面有来自NLog的文件: NLog.dll,NLog.config和NLog.xml,所以理论上,ASP项目可以毫无问题地访问到NLog文件。

我读了NLog的教程,但我想不出解决方案。我不能理解为什么我的测试项目可以正常工作,但是当我在ASP项目中进行同样的调用时,它就不能工作了。

这是我的NLog配置文件。

代码语言:javascript
复制
<?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>

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

代码语言:javascript
复制
private static Logger logger = LogManager.GetCurrentClassLogger();

有人能帮我解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-21 22:43:10

我想出了解决方案。

似乎有了复制到输出目录的设置,对于asp.net-mvc4是不够的。

我必须在解决方案资源管理器中手动将NLog.config复制到asp项目本身。

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

在本例中,我将NLog.config从LoggingLibrary复制到LogWebApp项目中,并且运行良好。

欢迎光临!

票数 1
EN

Stack Overflow用户

发布于 2012-11-20 16:58:40

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

代码语言:javascript
复制
<nlog internalLogFile="c:\log.txt" internalLogLevel="Trace">

你可能会发现这是一个配股问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13469474

复制
相关文章

相似问题

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