无论发生什么情况,NHibernate消息都会发送到控制台

无论发生什么情况,NHibernate消息都会发送到控制台,nhibernate,fluent-nhibernate,log4net,Nhibernate,Fluent Nhibernate,Log4net,我有一个使用Fluent NHibernate的控制台应用程序。我已将其配置为使用log4net登录到各个位置。而且效果很好。我可以看到我想要看到的SQL,并且可以将日志输出发送到各种附加器。问题是我无法抑制进入控制台的log4net sql输出 额外的控制台输出不受我的log4net配置设置控制。无论我是否关闭所有Appender,它总是出现 有什么建议吗?您是否在app.config的nhibernate部分将此属性设置为true <property name="show_sql"&g

我有一个使用Fluent NHibernate的控制台应用程序。我已将其配置为使用log4net登录到各个位置。而且效果很好。我可以看到我想要看到的SQL,并且可以将日志输出发送到各种附加器。问题是我无法抑制进入控制台的log4net sql输出

额外的控制台输出不受我的log4net配置设置控制。无论我是否关闭所有Appender,它总是出现


有什么建议吗?

您是否在app.config的nhibernate部分将此属性设置为true

<property name="show_sql">true</property>

在上面的代码中,
logtostout
直接链接到
show\u sql
配置属性。如果将此设置为true,则不会阻止它写入控制台。关于你的评论,你不能通过log4net控制。您只能通过log4net控制使用
log.Debug(logMessage)
执行的操作。

要禁用任何日志,请输入以下代码:

< add key="nhibernate-logger" value="" />


进入应用程序设置部分。

NHibernate日志对我没有多大帮助,需要时我会打开它们。。。我将这些设置添加到我的app.config的log4net部分:

    <logger name="NHibernate">
      <level value="OFF" />
    </logger>

    <logger name="NHibernate.SQL">
      <level value="OFF" />
    </logger>


使用fluent,但是是的,这是在配置中设置的。否则,我将根本看不到消息。我相信,此配置也会将输出发送到控制台窗口。是的,但在log4net中,我应该能够抑制和管理控制台输出。@DanielWilliams查看我上面的编辑,您将看到我在说什么。
    <logger name="NHibernate">
      <level value="OFF" />
    </logger>

    <logger name="NHibernate.SQL">
      <level value="OFF" />
    </logger>