How to add Log4Net to your ASP.Net MVC (C#) project

  1. Add log4net dll to your references using Nuget Package Manager.
  2. Add this line to your AssemblyInfo.cs file
    [assembly: log4net.Config.XmlConfigurator(Watch = true)]
  3. Add the following xml code to your Web.config file, inside the configurations tags. The value for version should be the version of your log4net dll.
    <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=1.2.15.0, Culture=neutral, PublicKeyToken=1b44e1d426115821" />
    </configSections>
  4. Also add the following lines to the Web.config file inside the configuration tags. Here I am logging to a file called “Jumppage.log” inside a folder named “Log”.
    <!-- Log4net Logging Setup -->
    <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender,log4net">
    <file value="Log\Jumppage.log" />
    <appendToFile value="true" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="INFO" />
    <levelMax value="FATAL" />
    </filter>
    </appender><root>
    <level value="DEBUG" />
    <appender-ref ref="FileAppender" />
    </root>
    </log4net>
    
  5. Go to your class file and add the namespace, log4net as follows.
    using log4net;
  6. Add following code inside your class. You need to write your class name inside the typeof() method. In this project my class name is “AnnouncementController”.
    private static readonly ILog Logger = LogManager.GetLogger(typeof(AnnouncementController));
  7. Then you can log your error as follows.
    Logger.Error("Error in posting announcements. error message:"+ ex.Message + ", stacktrace:" + ex.StackTrace);
Advertisements

Author: Harshani Nawarathna

Sri Lankan woman in Computing

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s