jorgehcb
12/10/2018 - 2:05 PM

[ C#] Displaying NHibernate SQL in Visual Studio’s Output Window

log4net configuration: Add an appender of type, log4net.Appender.TraceAppender to the web.config,

<appender name="DebugSQL" type="log4net.Appender.TraceAppender">
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date &#91;%thread&#93; %-5level %logger &#91;%property{NDC}&#93; - %message%newline" />
  </layout>
</appender>

NHibernate logs all SQL statements using a logger named, NHibernate.SQL.
Add a logger to the web.config. The name must be NHibernate.SQL, and DEBUG must be assigned to the level for this to work:

<logger name="NHibernate.SQL" additivity="false">
  <level value="DEBUG"/>
  <appender-ref ref="NHibernate.SQL" />
</logger>
    <logger name="NHibernate.SQL" additivity="false">
      <level value="DEBUG"/>
      <appender-ref ref="NHibernate.SQL" />
    </logger>