Thursday, March 11, 2010

How to use/ setup log4net


Share

For a few times I needed to add log4Net to projects I have been working on and occasionally I forget how to configure log4net in my project or website.

So, I’m writing it down and hope it can help others as well :)

 

1- Add reference to log4net

2- Create log4net.config.xml file under App_Data/Configuration/log4net directory. (or any directory you would like)

3- log4net.config.xml file should look like this – make sure to update the  logging level

<?xml version="1.0" encoding="utf-8" ?>


<log4net>


    <appender name="XMLFileAppender" type="log4net.Appender.RollingFileAppender">


        <file value="e:\\temp\\log4net\\BLOND_MOBILE\\root.xml"/>


        <appendToFile value="true"/>


        <rollingStyle value="Size"/>


        <maxSizeRollBackups value="-1"/>


        <maximumFileSize value="5MB"/>


        <countDirection value="1"/>


        <locationinfo value="false"/>


        <layout type="log4net.Layout.XmlLayout">


            <param name="Prefix" value=""/>


            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>


        </layout>


    </appender>


    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">


        <file value="e:\\temp\\log4net\\BLOND_MOBILE\\root.txt"/>


        <appendToFile value="true"/>


        <rollingStyle value="Size"/>


        <maxSizeRollBackups value="-1"/>


        <maximumFileSize value="5MB"/>


        <countDirection value="1"/>


        <layout type="log4net.Layout.PatternLayout,log4net">


            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>


        </layout>


    </appender>


    <appender name="BLOND_MOBILEFileAppender" type="log4net.Appender.RollingFileAppender,log4net">


        <file value="e:\\temp\\log4net\\BLOND_MOBILE\\BLOND_MOBILE.txt"/>


        <appendToFile value="true"/>


        <rollingStyle value="Size"/>


        <maxSizeRollBackups value="-1"/>


        <maximumFileSize value="5MB"/>


        <countDirection value="1"/>


        <layout type="log4net.Layout.PatternLayout,log4net">


            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>


        </layout>


    </appender>


  


  <appender name="APIAppender" type="log4net.Appender.RollingFileAppender,log4net">


   <file value="e:\\temp\\log4net\\BLOND_MOBILE\\API.txt"/>


  <appendToFile value="true"/>


  <rollingStyle value="Size"/>


  <maxSizeRollBackups value="-1"/>


  <maximumFileSize value="5MB"/>


  <countDirection value="1"/>


  <layout type="log4net.Layout.PatternLayout, log4net">


    <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>


  </layout>


  </appender>


  


 


    <logger name="BLOND_MOBILE">


        <level value="DEBUG"/>


        <appender-ref ref="BLOND_MOBILEFileAppender"/>


    </logger>


  <logger name="API">


    <level value="ERROR"/>


    <appender-ref ref="APIAppender"/>


  </logger>


  


    <root>


        <level value="DEBUG"/>


        <appender-ref ref="LogFileAppender"/>


<appender-ref ref="RemoteSyslogAppender"/>


    </root>


</log4net>




 



4- Define log4net config location in the web.config (or any other place if its not a web app). Do this by adding this line to the web config



 





<add key="log4netConfigFilePath" value="~/App_Data/Configuration/log4net/log4net.config.xml"/>








5- Create a new file in your project of type global.asax. inside the Application_Start method add the below lines:





//log4net config


System.IO.FileInfo log4netConfig = new System.IO.FileInfo(Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["log4netConfigFilePath"]));


log4net.Config.XmlConfigurator.ConfigureAndWatch(log4netConfig);




6 – Get an instance of the logger, by passign teh logger name. which you defined in the log4net config file





private static readonly ILog logger = LogManager.GetLogger("BLOND_MOBILE");


Continue Reading...
 

Blogroll

Site Info

Text