在Fluent NHibernate中启用log4net时出现问题

在Fluent NHibernate中启用log4net时出现问题,nhibernate,fluent-nhibernate,log4net,Nhibernate,Fluent Nhibernate,Log4net,我需要帮助配置log4net和Fluent NHibernate。log4net似乎正在启动,但我没有从NHibernate/Fluent NHibernate获得任何信息。我希望此信息用于调试错误的映射 <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > <layout type="log4net.Layout.PatternLayout"> <param

我需要帮助配置log4net和Fluent NHibernate。log4net似乎正在启动,但我没有从NHibernate/Fluent NHibernate获得任何信息。我希望此信息用于调试错误的映射

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
  <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value="[Header]\r\n" />
    <param name="Footer" value="[Footer]\r\n" />
    <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
  </layout>
</appender>

<root>
  <level value="ALL" />
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="ConsoleAppender" />
</root>
<logger name="NHibernate"
    additivity="false">
  <level value="ALL"/>
  <appender-ref ref="ConsoleAppender"/>
</logger>
App.config中的配置

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
  <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value="[Header]\r\n" />
    <param name="Footer" value="[Footer]\r\n" />
    <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
  </layout>
</appender>

<root>
  <level value="ALL" />
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="ConsoleAppender" />
</root>
<logger name="NHibernate"
    additivity="false">
  <level value="ALL"/>
  <appender-ref ref="ConsoleAppender"/>
</logger>

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
  <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value="[Header]\r\n" />
    <param name="Footer" value="[Footer]\r\n" />
    <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
  </layout>
</appender>

<root>
  <level value="ALL" />
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="ConsoleAppender" />
</root>
<logger name="NHibernate"
    additivity="false">
  <level value="ALL"/>
  <appender-ref ref="ConsoleAppender"/>
</logger>
我得到的异常在cfg.BuildConfiguration()的最后一行。不过,我在日志中没有任何关于映射过程的条目

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
  <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value="[Header]\r\n" />
    <param name="Footer" value="[Footer]\r\n" />
    <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
  </layout>
</appender>

<root>
  <level value="ALL" />
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="ConsoleAppender" />
</root>
<logger name="NHibernate"
    additivity="false">
  <level value="ALL"/>
  <appender-ref ref="ConsoleAppender"/>
</logger>

提前感谢您的帮助。

如果您希望在visual studio的“输出”窗口中查看消息,则应使用以下选项:

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
  <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value="[Header]\r\n" />
    <param name="Footer" value="[Footer]\r\n" />
    <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
  </layout>
</appender>

<root>
  <level value="ALL" />
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="ConsoleAppender" />
</root>
<logger name="NHibernate"
    additivity="false">
  <level value="ALL"/>
  <appender-ref ref="ConsoleAppender"/>
</logger>
<appender name="ConsoleAppender" type="log4net.Appender.TraceAppender" >

此外,要查看日志消息,您可能还希望将NHibernate吐出的所有内容都扔进LogFileAppender:

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
  <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value="[Header]\r\n" />
    <param name="Footer" value="[Footer]\r\n" />
    <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
  </layout>
</appender>

<root>
  <level value="ALL" />
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="ConsoleAppender" />
</root>
<logger name="NHibernate"
    additivity="false">
  <level value="ALL"/>
  <appender-ref ref="ConsoleAppender"/>
</logger>
<logger name="NHibernate"
    additivity="false">
  <level value="ALL"/>
  <appender-ref ref="ConsoleAppender"/>
  <appender-ref ref="LogFileAppender"/>
</logger>

问题在于Fluent NHibernate中发生异常,因此无法启动NHibernate的日志记录

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
  <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value="[Header]\r\n" />
    <param name="Footer" value="[Footer]\r\n" />
    <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
  </layout>
</appender>

<root>
  <level value="ALL" />
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="ConsoleAppender" />
</root>
<logger name="NHibernate"
    additivity="false">
  <level value="ALL"/>
  <appender-ref ref="ConsoleAppender"/>
</logger>