Monday, August 11, 2014

implementing log4net

Here's a short tutorial on how to use log4net in C#

1. Get log4net from the apache website.

2. Open your project with visual studio.

3. Add the reference to your project: You find the reference in the zip that you just downloaded: \bin\net\xxx\release\log4net.dll. xxx is your .net version.

4. Add the Appender section to your app.config/webconfig. The following code uses a file for the logging:

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
  </configSections>
  <log4net>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="log-file.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="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
  </log4net>
</configuration>

5. Use the following code to use the configuration you just added to app.config:

static void Main()
{
      log4net.Config.XmlConfigurator.Configure();
...

6. To log use the following code:

using log4net;
...
private static readonly ILog log = LogManager.GetLogger(typeof(Bar));
log.Debug("this is the first log message");
...

7. If Visual studio doesn't recognize log4net. Configure your project like this:

Visual Studio -> project -> project name properties -> target framework -> .net Framework (not client)


No comments:

Post a Comment