Cannot force log4net to output anything when using NHibernate

I have this in my web.config file (edited to reflect some changes):

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>

  <log4net debug="true">
    <appender name="DebugAppender" type="log4net.Appender.AspNetTraceAppender">
      <layout type="log4net.Layout.PatternLayout, log4net">
        <param name="ConversionPattern" value="%d %p %m%n" />
      </layout>
    </appender>
    <appender name="DataLog" type="log4net.Appender.RollingFileAppender">
      <file value="c:\temp\nhlog.txt" />
      <appendToFile value="true" />
      <maximumFileSize value="100MB" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="5" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n"  />
      </layout>
    </appender>
    <root>
      <priority value="DEBUG" />
      <appender-ref ref="DebugAppender" />
    </root>
    <logger name="NHibernate" additivity="false">
      <level value="INFO"/>
      <appender-ref ref="DebugAppender"/>
    </logger>
  </log4net>

I call log4net.Config.XmlConfigurator.Configure () from Application_Start ().

I have [assembly: log4net.Config.XmlConfigurator (Watch = true)] in the AssemblyInfo.cs file in my web project.

Why am I not getting NHibernate debugging messages in my output window? (I'm trying to get ALL messages that NHibernate calculates.) If I use RollingFileAppender, it works fine. I tried DebugAppender, TraceAppender, OutputDebugStringAppender and AspNetTraceAppender, and none of them displayed data in the output window.

+3
source share
3

.

ConsoleAppenders, , -. - FileAppender.

. configuraiton.

+2

quip-, ConsoleAppender -. OutputDebugStringAppender . AspNetTraceAppender.

+2

NHibernate log4net.

sql, log4net:

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

- Select , NHibernate.Loader.Loader, :

<logger name="NHibernate.Loader.Loader" additivity="false">
  <level value="INFO" />
  <appender-ref ref="ConsoleAppender" />
</logger>
+1

Source: https://habr.com/ru/post/1722607/


All Articles