Programování

Jak pracovat s log4net v C #

Při práci na aplikacích můžete často chtít protokolovat data aplikací, která mohou zahrnovat, sled událostí ve vaší aplikaci, akce uživatele nebo dokonce chyby, když k nim dojde. Existuje mnoho rámců protokolování, které můžete použít, ale log4net je zdaleka jedním z nejpopulárnějších rámců protokolování pro použití s ​​aplikacemi vytvořenými nebo vyvinutými v .NET. Jedná se o knihovnu open source (port populární knihovny open source log4j pro Javu), kterou lze použít k protokolování dat aplikace do různých cílů protokolu v .NET.

Instalace log4net

Nejjednodušší a nejrychlejší způsob, jak začít používat log4net, je instalace pomocí Správce balíčků NuGet. Za předpokladu, že jste vytvořili projekt konzolové aplikace v sadě Visual Studio, můžete nainstalovat log4net přes NuGet Manager podle těchto kroků.

  1. V „okně Průzkumníka řešení“ vyberte svůj projekt a klikněte na něj pravým tlačítkem
  2. Klikněte na možnost „Spravovat balíčky NuGet ...“
  3. Klikněte na „Online“ a do vyhledávacího pole zadejte log4net
  4. Vyberte balíček log4net, který chcete nainstalovat
  5. Kliknutím na tlačítko „Instalovat“ zahájíte proces instalace

V době psaní tohoto článku je nejnovější stabilní vydání log4net 2.0.5. Jakmile je log4net nainstalován pomocí Správce balíčků NuGet, budete sledovat sestavu log4net přidanou jako odkaz na váš projekt.

Konfigurace log4net

Nyní, když byl balíček log4net úspěšně nainstalován, přidejte následující řádek do souboru AssemblyInfo.cs ve složce Vlastnosti vašeho projektu. Pokud to není zadáno, nastavení konfigurace by nebylo bráno v úvahu.

[assembly: log4net.Config.XmlConfigurator (ConfigFile = "Log4Net.config", Watch = true)]

Alternativně můžete také zmínit totéž v souboru app.config nebo web.config.

[assembly: log4net.Config.XmlConfigurator (Watch = true)]

Pokud se vaše metadata konfigurace log4net nacházejí v nějakém jiném souboru (tj. Jiném než soubory web.config nebo app.config), můžete místo toho zadat následující.

[assembly: log4net.Config.XmlConfigurator (ConfigFile = "log4net.config", Watch = true)]

Dalším krokem je určení nezbytných podrobností konfigurace pro log4net v souboru app.config nebo web.config ve vaší aplikaci. Za předpokladu, že používáte projekt konzolové aplikace, přidejte konfigurační sekci s názvem „log4net“ do souboru app.config, jak je znázorněno níže.

Nyní přidejte sekci "" za prvek v souboru app.config. Dále v sekci „“ umístěte podrobnosti konfigurace, jak je uvedeno ve fragmentu kódu uvedeném níže.

To je vše, co musíte udělat pro konfiguraci log4net. Pojďme nyní prozkoumat, jak jej můžeme použít v našem kódu. Prvek se používá k určení názvu a typu použitého loggeru. V tomto příkladu používáme pojízdný souborový appender. Existuje však mnoho dalších typů připojovacích modulů, tj. AdoNetAppender, AspNetTraceAppender, ConsoleAppender atd. Zde je úplný seznam a způsob konfigurace dalších připojovacích modulů.

Používání log4net

Ve své třídě vytvořte odkaz na ILog tak, že zavoláte statickou metodu GetLogger třídy LogManager, jak je ukázáno v níže uvedeném fragmentu kódu.

soukromý statický pouze pro čtení log4net.ILog log =

log4net.LogManager.GetLogger

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

Instanci s názvem log nyní můžete použít k protokolování dat do nakonfigurovaných cílů. Následující fragment kódu ukazuje, jak můžete nyní využít instanci protokolu k protokolování dat.

log.Debug ("Toto je zpráva Debug");

log.Info ("Toto je informační zpráva");

log.Warn ("Toto je varovná zpráva");

log.Error ("Toto je chybová zpráva");

log.Fatal ("Toto je fatální zpráva");

Zde je kompletní seznam kódů, který ukazuje, jak můžete pomocí protokolu log4net zaznamenat zprávu o výjimce do textového souboru.

třídní program

   {

statický pouze pro čtení log4net.ILog log =

log4net.LogManager.GetLogger

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

static void Main (řetězec [] args)

       {

Snaž se

           {

vyvolá novou výjimku ("Toto je testovací zpráva ...");

           }

úlovek (výjimka mimo)

           {

log.Error (např. zpráva);

           }          

Console.Read ();

       }

   }

Po provedení výše uvedeného programu bude vytvořen textový soubor s názvem .log a spolu s časovým razítkem bude zaznamenána zpráva o výjimce zadaná s. Všimněte si, že můžete také použít log4net programově, tj. Konfigurovat log4net programově bez potřeby konfigurace, o které jsme hovořili dříve.

$config[zx-auto] not found$config[zx-overlay] not found