我正在编写一个应用程序并使用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。
感谢您的帮助 尼尔
答案 0 :(得分:8)
我今天早上设法让这个工作
有两个正在运行的项目使用日志记录 - 一个MVC应用程序和一个WEBAPI应用程序。问题是在构建解决方案时,NLog.config文件被复制到应用程序的BIN文件夹中。配置文件需要与web.config文件一起位于项目根目录中。
为了解决这个问题,我在Logging项目上创建了一个post build事件,将配置文件复制到MVC应用程序和WEBAPI应用程序的项目根目录。
现在,日志记录正常。