App.config
·
Root(ErrorLogALL) Will Captures
All messages of the Application
·
Log4netWindows.Program (ErrorLog) Will Captures only messages
of that Namespace.class
·
Log4netWindows (ErrorLogNameSpace) Will Captures only messages
of that Namespace
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,
log4net"/>
</configSections>
<log4net>
<appender name="ErrorLogALL" type="log4net.Appender.RollingFileAppender">
<file value="F:\\lognet\\testlogALL.log"/>
<appendToFile value="true"/>
<maximumFileSize value="10MB"/>
<rollingStyle value="Size"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{dd
MMM yyyy HH:mm:ss,fff} [%level] %logger - %message%newline"/>
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="ERROR"/>
</filter>
</appender>
<appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
<file value="F:\\lognet\\testlog.log"/>
<appendToFile value="true"/>
<maximumFileSize value="10MB"/>
<rollingStyle value="Size"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{dd
MMM yyyy HH:mm:ss,fff} [%level] %logger - %message%newline"/>
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="ERROR"/>
</filter>
</appender>
<appender name="ErrorLogNameSpace" type="log4net.Appender.RollingFileAppender">
<file value="F:\\lognet\\testlogNameSpace.log"/>
<appendToFile value="true"/>
<maximumFileSize value="10MB"/>
<rollingStyle value="Size"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{dd
MMM yyyy HH:mm:ss,fff} [%level] %logger - %message%newline"/>
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="ERROR"/>
</filter>
</appender>
<root>
<level value="DEBUG"/>
<appender-ref ref="ErrorLogALL"/>
</root>
<logger name="Log4netWindows.Program">
<level value="DEBUG"/>
<appender-ref ref="ErrorLog"/>
</logger>
<logger name="Log4netWindows">
<level value="DEBUG"/>
<appender-ref ref="ErrorLogNameSpace"/>
</logger>
</log4net>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using log4net;
using System.Reflection;
namespace Log4netWindows
{
class Program
{
static void Main(string[] args)
{
ILog log;
log4net.Config.XmlConfigurator.Configure();
log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
log.Info("Test Program");
Program_One obj = new
Program_One();
obj.Test_One();
Log4netWindows_One.Program_Two obj_1
= new Log4netWindows_One.Program_Two();
obj_1.Test_Two();
Log4netWindows_One.Program_Three
obj_2 = new Log4netWindows_One.Program_Three();
obj_2.Test_Three();
}
}
class Program_One
{
public void
Test_One()
{
ILog log;
log4net.Config.XmlConfigurator.Configure();
log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
log.Info("Test Program_One");
}
}
}
namespace Log4netWindows_One
{
public class Program_Two
{
public void
Test_Two()
{
ILog log;
log4net.Config.XmlConfigurator.Configure();
log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
log.Info("Test Program_Two");
}
}
public class Program_Three
{
public void Test_Three()
{
ILog log;
log4net.Config.XmlConfigurator.Configure();
log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
log.Info("Test Program_Three");
}
}
}
You Can Download the Working Code of Log4Net Implementation From here.