我目前正在使用NLog作为我们所有应用程序的日志记录机制。我正在尝试集成SignalR进行实时通知。我发现了一个看似可靠的库:NLog.SignalR.
作为测试,我有一个控制台和WPF应用程序,我想记录日志事件。我已经添加了必要的库,并从上面的库中合并(复制/粘贴)了NLog.SignalR.Sample.Web项目。我几乎模拟了Console和WPF应用程序的设置/更改,以模拟库的另一个示例,即Console应用程序。
所有的更改都到位了(我认为需要更改),没有日志记录发生。我甚至根据文档中的建议在NLog.config文件中启用了throwExceptions=true
设置,以试图弄清楚为什么没有进行日志记录,也没有抛出任何内容。我确信我错过了一些愚蠢的东西,但我不知道它可能是什么。
以下是我在尝试将这个库实现到我的项目中时所做的一些事情:
- 创建了一个以.NET 4.5为目标的WPF项目
- 为NLog添加了NuGet包(3.1)
- 为NLog.SignalR(2.0)添加了NuGet包
- 将NLog.SignalR库中的现有Web项目添加到我的解决方案中
- 向我的WPF项目添加了一个NLog.config文件。设置与示例的控制台应用程序非常相似
- 已在NLog.config文件中启用
throwExceptions=true
(运气不佳)
我不确定什么代码可能是罪魁祸首,所以我避免在这里粘贴任何代码,因为我觉得我会在黑暗中拍摄。如果有人想看某些部分,我肯定会在这里粘贴任何代码。谢谢
虽然包含了NLog.config文件,但在编译Console应用程序时。。此配置文件未复制到Bin Debug/Release目录,因此您没有发生任何事情。。只需将您自己创建的配置文件复制到debug/release目录即可。。它将开始工作。。或在解决方案资源管理器中,选择NLog.config并将"Copy to output directory"设置为"Copy always"。