【问题标题】:why do you need Log4Net for nhibernate?为什么你需要 Log4Net 来进行休眠?
【发布时间】:2012-04-13 12:22:55
【问题描述】:

我将使用 asp.net mvc3 和 nhibernate 3.2 构建我的应用程序。我决定使用 Elmah 来记录所有错误消息。

我记得 nhibernate 支持 log4net 并使用它来记录所有查询。如果我不关心将查询输出到日志文件,我可以使用 nhibernate profiler 来做到这一点,还有什么其他原因会阻止我从 log4net 切换到 Elmah?

【问题讨论】:

    标签: nhibernate log4net elmah


    【解决方案1】:

    好吧,无论您是否积极使用 NHibernate 的日志记录功能,NHibernate 库的代码都依赖于 log4net,因此您需要 NHibernate 可以使用 log4net DLL 才能加载 NHibernate DLL。您只能通过下载 NHibernate 源代码并对其进行修改以删除 log4net 的使用来解决此问题(完全剥离日志记录功能或将其替换为 Elmah)。

    这就是为什么在一般情况下,您必须小心使用哪些库来开发自己的代码,因为您使用的越多,您的应用需要的越多,即使用户从未真正让您的应用执行一次引用代码的行。

    【讨论】:

    • 非常感谢。我想我会把 log4net dll 留在那里,只是不做任何事情。顺便说一句,我从 web.config 文件中删除了所有 log4net 设置。没事吧?
    • 我想说是的,因为 log4net 应该足够强大,如果它没有配置,它应该知道该怎么做而不会出错,但我会对整个系统进行彻底测试以确保.
    • 这个答案不正确; NHibernate 移除了对 log4net 的硬依赖。 Sly 的答案是正确的。
    【解决方案2】:

    在 NHibernate 3+ 中,对 log4net 的紧密依赖被破坏了。您可以轻松地将它与 nlog 一起用于example

    【讨论】:

      猜你喜欢
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多