I don’t know about you folks but my memory is quite lousy. At the ripe age of 26, it’s not as good as its use to be and hence I usually end up looking things up like when trying to use Log4NET. My favorite destination is either the Apache website or Nauman’s article on Log4NET. So here is a simple five step process of adding logging to an application. For times when MS logging app block seems like overkill and console writing to a text file is not an option, Log4NET is the way to go.
So without further ado
Step 1. Add the following at the top of the application config file. This tells the config engine that there is a Log4NET section
<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> </configSections>
Step 2. Add the following before/after appsettings.
<log4net>
<appender name="MyApplicationLogFileAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="log\\MyLogFile"/> <param name="DatePattern" value=".yyyy-MM-dd-tt".log""/> <param name="AppendToFile" value="true"/> <param name="RollingStyle" value="Date"/> <param name="StaticLogFileName" value="false"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%r %d [%t] %-5p %c - %m%n"/> </layout> </appender> <root> <level value="DEBUG"/> <appender-ref ref="MyApplicationLogFileAppender"/> </root> </log4net>
Step 3. Add the following in the AssemblyInfo.cs
[assembly: log4net.Config.DOMConfigurator(Watch = true)]
Step 4. Add the following at the top of your class
public static ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Step 5. Add the following line in the code where you want logging to be done.
log.Info("Program Started " + DateTime.Now.ToString ());This will log the info in the MyLogFile in the log folder.
The above steps provide a cookie cutter recipe for jump start using Log4NET. For further information about what the above config sections actually mean, please see the following reference articles below.