Click here to Skip to main content
Licence CPOL
First Posted 11 Oct 2006
Views 116,671
Downloads 1,099
Bookmarked 60 times

Configure Log4Net in ASP.NET 2.0

By Vikramaditya S Shekhawat | 11 Oct 2006
How to configure Log4Net in an ASP.NET 2.0 application.
4 votes, 11.1%
1

2
2 votes, 5.6%
3
10 votes, 27.8%
4
20 votes, 55.6%
5
4.41/5 - 36 votes
4 removed
μ 3.99, σa 2.25 [?]

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 Can14:00 10 Dec '06  
GeneralXmlConfiguratorAttributte PinmemberTomO24:57 17 Oct '06  
GeneralRe: XmlConfiguratorAttributte Pinmemberdnh5:28 11 Apr '07  
GeneralRe: XmlConfiguratorAttributte Pinmembertodeti7:44 23 Oct '07  
GeneralClosing log files PinmemberDejan Grujic23:29 16 Oct '06  
GeneralRe: Closing log files PinmemberVikramaditya S Shekhawat23:32 16 Oct '06  
GeneralDirectory write permissions PinmemberRodrigo Dias2: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 Shekhawat2:39 16 Oct '06  
GeneralRe: Directory write permissions PinmemberKrishanChaminda15:11 19 Oct '06  
Generalweb.config PinmemberVladimir_V9:05 13 Oct '06  
GeneralRe: web.config PinmemberVikramaditya S Shekhawat22:12 14 Oct '06  
GeneralRe: web.config Pinmemberdarkrd18: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
Web04 | 2.5.120210.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