Reputation: 711
I will shamelessly state that I have little experience with Log4Net. I only just installed it, but it won't capture log events from Quartz.net, which is a scheduling library. Apparently Quartz.net uses Commons Logging and that needs to be configured to point to my Log4Net settings. Unfortunately, it doesn't seem to work. Help is appreciated:
<configSections>
...
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<section name="commonLogging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
</configSections>
<!-- Log4net error handling -->
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="Admin/LabSlice.log" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
<!-- Commons logging (Quart.net logs) -->
<commonLogging>
<logging>
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
<arg key="configType" value="INLINE" />
</factoryAdapter>
</logging>
</commonLogging>
Upvotes: 4
Views: 8738
Reputation: 3996
Try this configuration:
<configSections>
....
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
<section name="quartz" type="System.Configuration.NameValueSectionHandler,
System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler,
Common.Logging"/>
</sectionGroup>
</configSections>
<appSettings>
<add key="log4net.Internal.Debug" value="false"/>
</appSettings>
<common>
<logging>
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter,
Common.Logging.Log4Net">
<arg key="configType" value="INLINE"/>
<arg key="configFile" value="Trace/application.log.txt"/>
<arg key="level" value="ALL" />
</factoryAdapter>
</logging>
</common>
<log4net>
<appender name="GeneralLog" type="log4net.Appender.RollingFileAppender">
<file value="Trace/application.log.txt"/>
<appendToFile value="true"/>
<maximumFileSize value="1024KB"/>
<rollingStyle value="Size"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{HH:mm:ss} [%t] %-5p %c - %m%n"/>
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="GeneralLog"/>
</root>
</log4net>
Upvotes: 4