Friday, May 10, 2013

How to add log files using log4net


log4net is an open source library which is developed under Apache License. If you are developing an .NET web application and if you want to keep a log file, og4net is the best way to do so. You can simply follow following steps.
1. First you have to download Log4Net. You can download it from here.
2. Open the visual studio create a new .net web application or open an existing one.
3. Add log4net.dll to reference in your web application. You can find dll file from ~\log4net-1.2.11\bin\net\4.0\release\log4net.dll in the extracted folder.
4. Edit the web.config file in order to configure log4net by putting this code.
<configuration>
<configSections>
<section name=”log4net” type=”log4net.Config.Log4NetConfigurationSectionHandler,Log4net”/>
</configSections>
5. Add an xml file to do some configurations regarding log4net. (Including the maximum size of the log file, rolling style etc). The code is shown below.Save it as log4net.xml
<?xml version=”1.0″ encoding=”utf-8″ ?>
<log4net> <root> <level value=”DEBUG” /> <appender-ref ref=”LogFileAppender” /> </root> <appender name=”LogFileAppender” type=”log4net.Appender.RollingFileAppender” > <param name=”File” value=”.\Logs\log.txt” /> <param name=”AppendToFile” value=”true” /> <rollingStyle value=”Size” /> <maxSizeRollBackups value=”10″ /> <maximumFileSize value=”10MB” /> <staticLogFileName value=”true” /> <layout type=”log4net.Layout.PatternLayout”> <param name=”ConversionPattern” value=”%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n” /> </layout> </appender> </log4net>
6. Then add the following code into Global.asax, to configure log4net.xml file within the Application_Start() method.
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath(“log4net.xml”)));
7. After that you can update log files by enabling which actions should be written. It can be any action in the code. For an example you can add following code to the Index action in Default controller.
public class DefaultController : BaseController
{ protected static readonly ILog log = LogManager.GetLogger(“root”); // // GET: /Default1/ public ActionResult Index(string fmt) { log4net.Config.XmlConfigurator.Configure(); log.Debug(“Action:- ” + this.ControllerContext.Controller.ToString() + “”); return GetFormatView(“Home/Home.aspx”); } }

No comments:

Post a Comment