Для разработчиков, которые не уверены, как именно начать, может помочь
ConfigSections в app.config
Не забудьте сообщить вашему приложению, что библиотека вводит пользовательский раздел конфигурации, если вы собираетесь его использовать. Я не совсем уверен, является ли это обязательным или нет, но я всегда использую его в качестве первого раздела в корневом теге <configuration>
.
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
log4net config в app.config
В log4net доступно множество различных приложений, но я обычно использую RollingFileAppender, поэтому я использую тот же самый в этом примере, вы можете найти остальные из них здесь .
<log4net>
<!-- file appender -->
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:/logs/my_log_file.log"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<maxSizeRollBackups value="30"/>
<datePattern value=".yyyy-MM-dd"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<level value="DEBUG"/>
<appender-ref ref="RollingFileAppender"/>
</root>
</log4net>
Обновление файла AssemblyInfo.cs
Я всегда пропускаю этот шаг всякий раз, когда мне нужно создать новый проект. Помните, что вы должны указать приложению следить за XMLConfigurator
для выполнения конфигурации log4net, поэтому следующая строка идет в конце файла AssemblyInfo.cs:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Начало работы
Не забудьте включить ссылку log4net.dll , а затем использовать следующую строку кода для инициализации регистратора в классе
private static ILog log = LogManager.GetLogger(typeof(MyClass));
И, в конце, давайте использовать его следующим образом
log.Info("Hello log4net");
Счастливое ведение журнала:)