Click here to Skip to main content
Licence CPOL
First Posted 11 Oct 2006
Views 123,991
Downloads 1,301
Bookmarked 62 times

Configure Log4Net in ASP.NET 2.0

By | 11 Oct 2006 | Article
How to configure Log4Net in an ASP.NET 2.0 application.

Introduction

Log4net is an Open Source utility used for log/report statements to various kinds of output targets (text file, email, database, event viewer etc.): http://logging.apache.org/. It can be a very handy utility for application instrumentation purposes.

Configuring Log4net

Step 1: Add a reference of Log4net.dll to the project.

Step 2: Add Global.asax to the project, if not already added. In the "Application_Start" event of global.asax, add the following code:

log4net.Config.XmlConfigurator.Configure();

Step 3: In the web.config file, under Configuration->Configsections, add the following section:

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

Step 4: In web.config, add a new section "<log4net>". This section will contain all the settings related to the Log4net configuration.

Step 5: In web.config, under "log4net" section, add the required appenders (output target) configuration sections in the following way:

File appender configuration, used for log statements in a text file
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
  <param name="File" value="Logs\\Log4Net.log"/>
  <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
  </layout>
</appender>
SMTP appender configuration, used for log statements by sending email
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="" />
<from value="" />
<subject value="" />
<smtpHost value="" />
<bufferSize value="512" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level 
          %logger [%property] - %message%newline%newline%newline" />
</layout>
</appender>

Step 6: In the web.config file, under "log4net" section, for each appender, add loggers in the following way:

<logger name="File">
<level value="All" />
<appender-ref ref="LogFileAppender" />
</logger>
<logger name="EmailLog">
<level value="All" />
<appender-ref ref="SmtpAppender" />
</logger>

Step 7: Now, whenever we want to log any information/error/warning, call the appropriate method in the following manner:

//for logging to file
log4net.ILog logger = log4net.LogManager.GetLogger("File");

//for emailing
log4net.ILog logger = log4net.LogManager.GetLogger("EmailLog");

logger.Info("Starting page load");

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Vikramaditya S Shekhawat

Architect

India India

Member

Originally from Jaipur(Rajasthan).
Working in Norway for a Software company.Holding diploma from CDAC and MCSD.NET (C#).

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralThank-you! PinmemberGarbage Can13:00 10 Dec '06  
GeneralXmlConfiguratorAttributte PinmemberTomO23:57 17 Oct '06  
GeneralRe: XmlConfiguratorAttributte Pinmemberdnh4:28 11 Apr '07  
GeneralRe: XmlConfiguratorAttributte Pinmembertodeti6:44 23 Oct '07  
GeneralClosing log files PinmemberDejan Grujic22:29 16 Oct '06  
GeneralRe: Closing log files PinmemberVikramaditya S Shekhawat22:32 16 Oct '06  
GeneralDirectory write permissions PinmemberRodrigo Dias1:36 16 Oct '06  
By the way, you have to add write permissions to the destination directory is the asp.net folder for the FileAppenders, i.e., in your configuration you are writing the log files to the directory "Logs". You have to add write permissions to the directory for the ASP.NET user.
At least for me i had to do that....
GeneralRe: Directory write permissions PinmemberVikramaditya S Shekhawat1:39 16 Oct '06  
GeneralRe: Directory write permissions PinmemberKrishanChaminda14:11 19 Oct '06  
Generalweb.config PinmemberVladimir_V8:05 13 Oct '06  
GeneralRe: web.config PinmemberVikramaditya S Shekhawat21:12 14 Oct '06  
GeneralRe: web.config Pinmemberdarkrd17:25 3 Nov '06  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web02 | 2.5.120529.1 | Last Updated 11 Oct 2006
Article Copyright 2006 by Vikramaditya S Shekhawat
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid