禁用NHibernate日志logging
我有一个空的 app.config文件,但我仍然得到NHibernatedebugging日志
NHibernate: SELECT this_.LogID as LogID71_0_, this_.Level as Level71_0_, this_.Message as Message71_0_, this_.EventTime as EventTime71_0_, this_.Component as ...
我尝试添加一个ERROR日志级别的log4netconfiguration,但没有用。 我怎样才能停止这些日志消息?
我感到困惑的是为什么这些出现在第一个地方,如果我有一个空的app.config。 对我来说这是没有意义的,我必须configuration它不打印这些消息 – 默认应该closures。 难道是我的代码是以编程方式设置它们吗? 我该找什么?
configurationLog4Net与NHibernate一起使用可能会有帮助。
你需要有这两个logging器:
<logger name="NHibernate"> <level value="ERROR" /> </logger> <logger name="NHibernate.SQL"> <level value="ERROR" /> </logger>
return Fluently.Configure() .Database(MsSqlConfiguration.MsSql2005.ConnectionString( c => c.FromConnectionStringWithKey("MyDB")).ShowSql())
删除.ShowSql()
为我工作
问题出在“我的代码”的某处。 我们手动构buildNHibernateconfiguration(将show_sql标志设置为true)。
对我来说这是NUnit问题。 在TeamCity中运行testing时,额外的日志logging正在发生,它必须使用不同版本的nunit
NHibernate的日志不帮我很多…我更喜欢这些设置:
<logger name="NHibernate"> <level value="OFF" /> </logger> <logger name="NHibernate.SQL"> <level value="OFF" /> </logger>
你想在NHibernate级别或Log4Net级别禁用日志logging吗?
我通过将“show_sql”variables设置为false来做前者。 我现在正在用C#编程,但是我认为这也很容易放入XMLconfiguration文件中。
你使用的是NUnit 2.4.6吗? 我昨天读了这篇博文,其中说这个版本的NUnit设置log4net使用DEBUG级别的日志logging,也影响NHibernate。
如果它不是NUnit,而不是你,我会检查它是否是你正在使用的其他第三方库。
编辑
第二个想法,我不认为输出与log4net有关。 格式看起来更像是“show_sql”控制的输出。 我会检查两件事情:1.如果正确的(与show_sql = false的)hibernate.config复制到您的执行目录。 2.如果show_sqlconfiguration属性在代码中没有被手动覆盖。