我将使用asp.net mvc3和nhibernate 3.2构建我的应用程序。我决定使用Elmah记录所有错误消息。
我记得nhibernate支持log4net并使用它来记录所有查询。如果我不关心将查询输出到日志文件,我可以使用nhibernate profiler来做到这一点,还有什么其他原因会阻止我从log4net切换到Elmah?
答案 0 :(得分:4)
在NHibernate 3+中对log4net的严格依赖被破坏了。您可以轻松地将其与example的nlog一起使用。
答案 1 :(得分:2)
那么,无论你是否积极使用NHibernate的日志记录功能,NHibernate库的代码都依赖于log4net,因此你需要为NHibernate提供log4net DLL才能加载NHibernate DLL。您只能通过下载NHibernate源并修改它以删除log4net的使用来解决这个问题(完全剥离日志记录功能或用Elmah替换它)。
这就是为什么一般来说,你必须小心使用哪些库来开发自己的代码,因为你使用的越多,你的应用程序需要的就越多,即使用户实际上从未真正导致你的应用程序执行单个引用代码的行。