NLog没有找到或加载配置文件

时间:2012-05-29 14:31:09

标签: c# ninject config nlog

我正在编写一个应用程序并使用Ninject创建一个Logging工厂的实例,该实例可用于创建Nlog Logger。我有自己的Logger类,它包装了Nlog Logger类

我有一个处理注入的IOC项目和一个Logging项目,它承载了LoggerFactory和Logger类。

我想要的原因是让所有其他项目共享一个日志记录配置,而不是必须分别在每个项目中包含Nlog dll和config。

这一切都构建并运行良好但是当LoggerFactory创建一个记录器时

public ILogger GetLogger<T>()
{
    NLog.Logger nLogLogger = NLog.LogManager.GetLogger(typeof(T).ToString());

    return new Logging.Logger(nLogLogger);
}

配置为null,表明NLog.dll没有找到NLog.config文件。

NLog.LogManager.Configuration 

我已按照说明操作并说NLog.config被命名为NLog.dll.nlog被复制到bin目录,我可以在NLog.dll旁边看到它

从Nlog文档来看,这应该足够http://nlog-project.org/wiki/Configuration_file,但它没有被发现。 “NLog.dll所在目录中的NLog.dll.nlog”

我将NLog.dll.nlog文件标记为内容,将copyToLocal标记为true。

感谢您的帮助 尼尔

1 个答案:

答案 0 :(得分:8)

我今天早上设法让这个工作

有两个正在运行的项目使用日志记录 - 一个MVC应用程序和一个WEBAPI应用程序。问题是在构建解决方案时,NLog.config文件被复制到应用程序的BIN文件夹中。配置文件需要与web.config文件一起位于项目根目录中。

为了解决这个问题,我在Logging项目上创建了一个post build事件,将配置文件复制到MVC应用程序和WEBAPI应用程序的项目根目录。

现在,日志记录正常。