Добавление логирования хода выполнения программы
Доброго времени суток! Эта статья носит справочный характер. В ней приведен пример (своего рода quick start) использования логера log4net в программе на C# (пока без дополнительных разъяснений).
В первую очередь, нужно добавить в проект своей программы log4net.dll в качестве reference (описание того как это делается, выходит за рамки данной статьи). После чего, нужно выполнить ряд действий описанных ниже.
Шаг 1. Создать основной класс, отвечающий за обеспечение логирования в своем проекте:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using log4net; using log4net.Config; namespace TestLog { public static class Logger { private static ILog log = LogManager.GetLogger("LOGGER"); //Возвращает объект, через который будет осуществляться логирование public static ILog Log { get { return log; } } //Инициализация логера public static void InitLogger() { //Считывание конфигурации логера из файла XmlConfigurator.Configure(new System.IO.FileInfo("D:\\Logs\\TestConf.xml")); } } }
Шаг 2. Простейшая настройка логера (с помощью конфигурационного файла, путь к которому указан в методе InitLogger):
<?xml version="1.0" encoding="utf-8" ?> <configuration> <log4net> <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="D:\Logs\Exchange.log"/> <param name="AppendToFile" value="true"/> <maxSizeRollBackups value="10"/> <maximumFileSize value="5MB"/> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d %-5p %m%n"/> </layout> </appender> <logger name="LOGGER"> <appender-ref ref="LogFileAppender"/> </logger> </log4net> </configuration>
Шаг 3. Простейшее использование логера:
Logger.InitLogger(); //Запись в лог с уровнем "Debug" Logger.Log.Debug("Логер проинициализирован!");
Дальше приведены несколько примеров.
Пример 1. Создание расширения в виде вспомогательного метода (логирование с дополнительной информацией):
//Вспомогательный метод записи в лог массива данных (в шестнадцатеричном виде) в текстовым пояснением public void WriteToLog(string aText, byte[] aDatas) { if (aDatas == null) { Logger.Log.Debug(aText); return; } StringBuilder builder = new StringBuilder(); foreach(byte oneByte in aDatas) { builder.Append(string.Format("{0:X2} ", oneByte)); } Logger.Log.Debug(string.Format("\t{0}:\t{1}", aText, builder.ToString())); }
Пример 2. Использование вспомогательного метода:
//В ЛОГ WriteToLog("Запрос", toChannelArray);
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.