Location > Blog

Problem getting log4net 1.2.10 working with ASP.Net 4

Just a quick note on getting log4net 1.2.10 working with ASP.Net 4.

I had been working with log4net version 1.2.10.0 in ASP.Net 3.5 and it had been working but after upgrading the project to ASP.NET 4 I noticed an odd behavior. It would log only one message to the log file and refused to log any further messages until the application was restarted.

log4net Configuration File

Here is a the log4net configuration I was using which is in a separate file in the root directory

<?xml version="1.0" encoding="UTF-8"?> 
<log4net> 
    <logger name="Application"
        <level value="ERROR" /> 
        <appender-ref ref="GeneralAppender" /> 
    </logger> 
    <logger name="NHibernate"
        <level value="ERROR" /> 
        <appender-ref ref="NHibernateAppender" /> 
    </logger> 
    <appender name="GeneralAppender" type="log4net.Appender.RollingFileAppender"
        <threshold value="ERROR" /> 
        <file value="App_Data/Logs/error.log" /> 
        <appendToFile value="true" /> 
        <rollingStyle value="Date" /> 
        <datePattern value="'.'yyyyMMdd'.log'" /> 
        <layout type="log4net.Layout.PatternLayout"
            <conversionPattern value="%d %-4r [%t] %-5p %c %x - %m%n"/> 
        </layout> 
    </appender> 
    <appender name="NHibernateAppender" type="log4net.Appender.RollingFileAppender"
        <threshold value="ERROR" /> 
        <file value="App_Data/Logs/nhibernate.log" /> 
        <appendToFile value="true" /> 
        <rollingStyle value="Date" /> 
        <datePattern value="'.'yyyyMMdd'.log'" /> 
        <layout type="log4net.Layout.PatternLayout"
            <conversionPattern value="%d %-4r [%t] %-5p %c %x - %m%n"/> 
        </layout> 
    </appender> 
</log4net> 
 

Loading the Configuration

As recommended the configuration is loaded on the application start event.

private void Application_Start() 
      var configFile = new FileInfo(Server.MapPath("~/log4net.config")); 
      XmlConfigurator.Configure(configFile); 
 

After excessive searching Google and trying to find a solution I came up empty.

In the end the solution was quite straight forward I just downloaded the 1.2.11.0 release and it just worked. So I'm guessing 1.2.10.0 just isn't compatible with ASP.Net 4, or at least my project.



Sunday November 20 2011 10:48 p.m.

Title
Name
Email
 
Url
Comments  
Enter code shown  
 
Cloud Computing & Cloud Hosting by Rackspace