2012-02-01 88 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