Как да работя с log4net в C #

Когато работите по приложения, често може да искате да регистрирате данни за приложенията, които могат да включват, последователността от събития във вашето приложение, потребителски действия или дори грешки, когато се появят. Има много рамки за регистриране, които можете да използвате, но log4net е един от най-популярните регистриращи рамки за използване с приложения, изградени или разработени в .NET. Това е библиотека с отворен код (порт на популярната библиотека с отворен код log4j за Java), която може да се използва за регистриране на данни от приложения в различни цели на регистрационния файл в .NET.

Инсталиране на log4net 

Най-лесният и бърз начин да започнете да използвате log4net е като го инсталирате чрез NuGet Package Manager. Ако приемем, че сте създали проект за конзолно приложение в Visual Studio, можете да инсталирате log4net чрез NuGet Manager, като следвате тези стъпки.

  1. В „Прозорец на Solution Explorer“ изберете и щракнете с десния бутон върху вашия проект
  2. Щракнете върху „Управление на NuGet пакети ...“
  3. Щракнете върху "Онлайн" и след това въведете log4net в полето за търсене
  4. Изберете пакета log4net, който искате да инсталирате
  5. Щракнете върху „Инсталиране“, за да стартирате инсталационния процес

Към момента на писането, последната стабилна версия на log4net е 2.0.5. След като log4net бъде инсталиран чрез NuGet Package Manager, ще наблюдавате модула log4net, добавен като препратка към вашия проект.

Конфигуриране на log4net

След като пакетът log4net е инсталиран успешно, добавете следния ред към файла AssemblyInfo.cs в папката Properties на вашия проект. Ако това не е посочено, настройките на конфигурацията няма да бъдат взети предвид.

[монтаж: log4net.Config.XmlConfigurator (ConfigFile = "Log4Net.config", Watch = true)]

Като алтернатива можете също да споменете същото в файла app.config или web.config.

[събрание: log4net.Config.XmlConfigurator (Гледайте = вярно)]

Ако вашите метаданни за конфигурация на log4net се намират в някакъв друг файл (т.е. различен от web.config или app.config файлове), можете вместо това да посочите следното.

[монтаж: log4net.Config.XmlConfigurator (ConfigFile = "log4net.config", Watch = true)]

Следващата стъпка е да посочите необходимите подробности за конфигурацията за log4net в app.config или файла web.config във вашето приложение. Ако приемем, че използвате проект за конзолно приложение, добавете конфигурационен раздел с име "log4net" във файла app.config, както е показано по-долу.

Сега добавете раздела "" след елемента във вашия файл app.config. След това, в секцията "", поставете подробностите за конфигурацията, както е показано в кодовия фрагмент, даден по-долу.

Това е всичко, което трябва да направите, за да конфигурирате log4net. Нека сега изследваме как можем да го използваме в нашия код. Елементът се използва за указване на името и типа на регистратора, който ще се използва. В този пример използваме подвижния приложник на файл. Налице са обаче много други видове приложения, т.е. AdoNetAppender, AspNetTraceAppender, ConsoleAppender и др. Ето пълния списък и как да конфигурирате други приложения.

Използване на log4net 

Във вашия клас създайте препратка към ILog, като извикате статичния метод GetLogger на класа LogManager, както е показано в кодовия фрагмент, даден по-долу.

частен статичен само за четене log4net.ILog log = 

log4net.LogManager.GetLogger

(System.Reflection.MethodBase.GetCurrentMethod (). DeclaringType);

Вече можете да използвате регистрационния файл с име, за да регистрирате данни в конфигурираните цели. Следният кодов фрагмент илюстрира как вече можете да се възползвате от регистрационния екземпляр за регистриране на данни.

log.Debug ("Това е съобщение за отстраняване на грешки");

log.Info ("Това е информационно съобщение");

log.Warn ("Това е предупредително съобщение");

log.Error ("Това е съобщение за грешка");

log.Fatal ("Това е фатално съобщение");

Ето пълен списък с кодове, който показва как можете да регистрирате съобщението си за изключение в текстов файл с помощта на log4net.

клас Програма

   {

       статично само за четене log4net.ILog log =

       log4net.LogManager.GetLogger

(System.Reflection.MethodBase.GetCurrentMethod (). DeclaringType);

       static void Main (низ [] аргументи)

       {

           опитвам

           {

               хвърли ново изключение ("Това е тестово съобщение ...");

           }

           catch (Изключение ex)

           {

               log.Error (напр. Съобщение);

           }          

           Console.Read ();

       }

   }

След като изпълните горната програма, ще бъде създаден текстов файл с име .log и съобщението за изключение ще бъде записано заедно с клеймото за време. Имайте предвид, че можете също да използвате log4net програмно, т.е. да конфигурирате log4net програмно, без да се нуждаете от конфигурацията, която обсъдихме по-рано.