Click here to Skip to main content
12,699,489 members (33,025 online)
Click here to Skip to main content
Add your own
alternative version


66 bookmarked

Configure Log4Net in ASP.NET 2.0

, 11 Oct 2006 CPOL
Rate this:
Please Sign up or sign in to vote.
How to configure Log4Net in an ASP.NET 2.0 application.


Log4net is an Open Source utility used for log/report statements to various kinds of output targets (text file, email, database, event viewer etc.): 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:


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"/>
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"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level 
          %logger [%property] - %message%newline%newline%newline" />

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 name="EmailLog">
<level value="All" />
<appender-ref ref="SmtpAppender" />

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");


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
India India
Software and technology enthusiast with 15+ years experience in IT industry. Envisage "technical people management" for achieving best results and most satisfied team members.

You may also be interested in...

Comments and Discussions

GeneralUser Level Logging Pin
Member 367943826-Nov-09 17:11
memberMember 367943826-Nov-09 17:11 
GeneralBlank Page Pin
dhaval.upadhyay9-Feb-09 2:17
memberdhaval.upadhyay9-Feb-09 2:17 
GeneralSecurity Exception Pin
Manojkumar Sharma6-Jun-08 1:49
memberManojkumar Sharma6-Jun-08 1:49 
Generalhi Pin
manoj221849-May-08 3:59
membermanoj221849-May-08 3:59 
GeneralThanks ! Pin
andy_sinclair1-Nov-07 6:49
memberandy_sinclair1-Nov-07 6:49 
GeneralThank you, it's helpful! Pin
liuruicai11-Oct-07 17:21
memberliuruicai11-Oct-07 17:21 
Generalblank file Pin
RADman10-Oct-07 5:26
memberRADman10-Oct-07 5:26 
GeneralWhere should i add the new section Pin
satyamythily26-Jul-07 7:00
membersatyamythily26-Jul-07 7:00 
GeneralRe: Where should i add the new section [modified] Pin
Noman Mohammad6-Aug-07 7:33
memberNoman Mohammad6-Aug-07 7:33 
GeneralNice Pin
nsebastian20-Jun-07 12:47
membernsebastian20-Jun-07 12:47 
GeneralBest log4net guide I found Pin
reach4thelasers28-May-07 7:57
memberreach4thelasers28-May-07 7:57 
Questionlogs Pin
LeleHalfon8-May-07 7:55
memberLeleHalfon8-May-07 7:55 
GeneralThank-you! Pin
Garbage Can10-Dec-06 14:00
memberGarbage Can10-Dec-06 14:00 
GeneralXmlConfiguratorAttributte Pin
TomO217-Oct-06 4:57
memberTomO217-Oct-06 4:57 
GeneralRe: XmlConfiguratorAttributte Pin
dnh11-Apr-07 5:28
memberdnh11-Apr-07 5:28 
GeneralRe: XmlConfiguratorAttributte Pin
todeti23-Oct-07 7:44
membertodeti23-Oct-07 7:44 
GeneralClosing log files Pin
Dejan Grujic16-Oct-06 23:29
memberDejan Grujic16-Oct-06 23:29 
GeneralRe: Closing log files Pin
Vikramaditya S Shekhawat16-Oct-06 23:32
memberVikramaditya S Shekhawat16-Oct-06 23:32 
GeneralDirectory write permissions Pin
Rodrigo Dias16-Oct-06 2:36
memberRodrigo Dias16-Oct-06 2:36 
GeneralRe: Directory write permissions Pin
Vikramaditya S Shekhawat16-Oct-06 2:39
memberVikramaditya S Shekhawat16-Oct-06 2:39 
GeneralRe: Directory write permissions Pin
KrishanChaminda19-Oct-06 15:11
memberKrishanChaminda19-Oct-06 15:11 
Generalweb.config Pin
Vladimir_V13-Oct-06 9:05
memberVladimir_V13-Oct-06 9:05 
GeneralRe: web.config Pin
Vikramaditya S Shekhawat14-Oct-06 22:12
memberVikramaditya S Shekhawat14-Oct-06 22:12 
GeneralRe: web.config Pin
darkrd3-Nov-06 18:25
memberdarkrd3-Nov-06 18:25 

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

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

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