2012-02-01 135 views
1

虽然有很多关于这个主题的问题和答案,我无法找到我的问题的答案。这里描述我的NHibernate的配置log4net的:http://nhibernate.hibernatingrhinos.com/19/how-to-configure-log4net-for-use-with-nhibernate流利NHibernate和log4net

唯一的区别是我log4net的配置为使用痕迹的appender:

<appender name="trace" type="log4net.Appender.TraceAppender, log4net"> 
    <layout type="log4net.Layout.PatternLayout,log4net"> 
     <param name="ConversionPattern" value="%d %p %m%n" /> 
    </layout> 
</appender> 
.... 
    <logger name="NHibernate" additivity="false"> 
     <level value="ALL"/> 
     <appender-ref ref="trace"/> 
    </logger> 
    <logger name="NHibernate.SQL" additivity="false"> 
     <level value="ALL"/> 
     <appender-ref ref="trace"/> 
    </logger> 

而且急,我让我的NHibernate的日志记录。但是,我没有看到任何生成的SQL查询,这正是我希望看到的。我确实记录了有关会话的打开和关闭,提交事务等,但查询中没有任何内容发送到数据库。有谁知道我忽略了什么?

我使用的流利NHibernate 1.2使用NHibernate 3.1。我已在配置中启用ShowSql()

+0

尝试从Fluent NHibernate配置中去除'ShowSql()'调用。 – 2012-02-01 11:52:35

+0

@Pieter - 当您启用ShowSql()时,您是否至少在VS输出窗口中看到它?这对我来说适用于FNH 1.0。应该让你看到生成的SQL - 但它当然不会被保存。 – 2012-02-02 15:49:41

+0

启用'ShowSql()'后,查询不会显示在VS输出窗口中。删除'ShowSql()'仍然不会显示在log4net日志中。 – Pieter 2012-02-03 08:05:20

回答

0

尝试在你的流利NH配置AdoNetBatchSize设置为零:

Fluently 
    .Configure() 
    .Database(...) 
    .AdoNetBatchSize(0) 
+0

不幸的是,并没有改变这种情况。在日志输出中仍然没有查询。 – Pieter 2012-02-03 08:05:46