Регистратор используется в качестве настройки регистрации.Вы можете управлять УРОВНЯМИ журнала (вы можете узнать больше об уровнях здесь ), вы можете управлять appander из Logger. Журнал , в свою очередь, выполняет сохранение данных в определенный файл.
рассмотрим следующий пример:
log4net.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="FooRollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="..\\logs\\foo.log" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value=".yyyyMMdd" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="===================================================================%n%-5p %d - %m%n%n" />
</layout>
</appender>
<logger name="FooLogger">
<level value="ALL" />
<appender-ref ref="FooRollingLogFileAppender" />
</logger>
<appender name="BooRollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="..\\logs\\boo.log" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value=".yyyyMMdd" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="===================================================================%n%-5p %d - %m%n%n" />
</layout>
</appender>
<appender name="console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level %logger - %message%newline" />
</layout>
</appender>
<logger name="BooLogger">
<level value="WARN" />
<appender-ref ref="BooRollingLogFileAppender" />
<appender-ref ref="console" />
</logger>
</log4net>
</configuration>
Main.cs и Log.cs (просто имя, оно не реализует Ilog)
public class Log
{
private static readonly ILog booLogger = LogManager.GetLogger("BooLogger");
static Log()
{
XmlConfigurator.Configure(new FileInfo("log4net.config"));
}
public static void BooLog(string msg)
{
booLogger.Info(msg);
booLogger.Fatal("fatal");
}
}
static void Main()
{
Log.BooLog("asdasd");
}