Visual Studio がクラス ライブラリまたは Web サイト プロジェクトのコンソール出力を表示するとは思わない。私がやっていることは、NHibernate の SQL をテキスト ファイルに書き込むように log4net を構成し、そのファイルを Visual Studio で開くことです。正しい構成で、VS はウィンドウ内をクリックしてファイルの更新を表示します。
Web.config (または app.config) で、log4net セクションを定義し、NHibernate で SQL を適切にフォーマットし、テキスト ファイル アペンダーを作成して、そこに NHibernate メッセージを送信します。
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="format_sql">true</property>
</session-factory>
</hibernate-configuration>
<log4net>
<appender name="NHibernateLogFile" type="log4net.Appender.FileAppender">
<file value="../Logs/NHibernate.log" />
<appendToFile value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{HH:mm:ss.fff}%m%n==========%n" />
</layout>
</appender>
<logger name="NHibernate" additivity="false">
<level value="WARN" />
<appender-ref ref="NHibernateLogFile" />
</logger>
<logger name="NHibernate.SQL" additivity="false">
<level value="DEBUG" />
<appender-ref ref="NHibernateLogFile" />
</logger>
</log4net>
</configuration>
次に、Visual Studio で NHibernate.Log を開きます。上記の MinimalLock により、Visual Studio は、log4net がファイルに書き込んでいるのと同時にファイルを読み取ることができます。ウィンドウをクリックすると、VS はファイルをリロードします。Web サイトまたはアプリケーションをデプロイするときは、必ずこれをオフにしてください。