Hogyan kell bejelentkezni a C # -be a Log4net segítségével

Amikor írsz számítógépes kód a C #-ban jó ötlet a naplózási kódot is belefoglalni. Ily módon, ha valami rosszul fordul elő, akkor tudja, hol kezdje keresni. A Java világ évek óta ezt csinálja. Erre a célra használhatja a log4net-et. Az Apache log4j 2 része, egy népszerű nyílt forrású naplózási keretrendszer.

Ez nem az egyetlen .NET naplózási keret; sok van. Azonban a Apache A név megbízható, és az eredeti Java naplózási keret több mint 15 éve fennáll.

Miért érdemes használni a Log4net naplózási keretet?

Amikor egy alkalmazás vagy szerver összeomlik, akkor azon gondolkodik, miért. Hardverhiba, rosszindulatú program, talán a szolgáltatásmegtagadás támadása vagy valami furcsa billentyűkombináció, amely képes megkerülni az összes kódellenőrzést? Csak nem tudod.

Ki kell tudnia, hogy miért történt egy baleset, hogy ez kijavítható. Ha a naplózás engedélyezve van, akkor láthatja, hogy miért történt ez.

Elkezdeni

Töltse le a log4net fájlt az Apache log4net webhelyről. Ellenőrizze a letöltött fájlok integritását a PGP aláírás vagy MD5 ellenőrző összegek segítségével. Az ellenőrző összegek nem olyan erős mutatók, mint a PGP aláírása.

instagram viewer

A Log4net használata

A Log4net támogatja a hét naplózási szintet semmilyenről mindenre a növekvő prioritás mellett. Ezek:

  1. KI
  2. HALÁLOS
  3. HIBA
  4. FIGYELMEZTET
  5. INFO
  6. DEBUG
  7. MINDEN

A magasabb szintek az alsókat tartalmazzák. Hibakereséskor a DEBUG mindent megmutat, de a produkciónál valószínűleg csak a FATAL érdekli. Ezt a választást az összetevő szintjén lehet megtenni programozottan vagy XML Config fájlban.

Fakitermelők és csatolók

A rugalmasság érdekében a log4net naplózókat, függelékeket és elrendezéseket használ. A naplózó egy olyan objektum, amely ellenőrzi a naplózást, és az ILog interfész megvalósítása, amely öt logikai módszert határoz meg: isDebugEnabled, IsInfoEnabled, IsWarnEnabled, IsErrorEnabled és IsFatalEnabled. Ezenkívül meghatározza az öt módszert - hibakeresés, információ, figyelmeztetés, hiba és fatalis -, valamint a túlterheléseket és az öt formázott karakterlánc-verziót. A teljes ILog felületet a log4net online kézikönyvében láthatja.

A naplózókat az egyik szinthez rendelik, de nem MINDEN vagy KI, csak a másik öt.

A függelékek irányítják a naplózást. Lehet adatbázisba, memória pufferbe, konzolba, távoli gazdagépbe, gördülő naplókkal ellátott szövegfájlba, a Windows eseménynaplóba, vagy akár SMTP-n keresztül e-mailbe. Összesen 22 függelék található, és kombinálhatók, így sok választási lehetősége van. A függelékeket (így a nevét) csatolják a fakitermelőhöz.

A függelékek szűrik az eseményeket az alszövegek, eseményszint, szinttartomány és a naplózó nevének kezdőpontja alapján.

elrendezések

Végül hét elrendezés társítható egy függelékhez. Ezek szabályozzák az esemény üzenetének naplózását, és tartalmazhatnak kivétel szöveget, időbélyegző-elrendezéseket és XML elemek.

Konfigurálás XML-sel

Noha a konfigurálás programozhatóan történik, meg lehet csinálni az XML Config fájlokkal is. Miért inkább szeretné a konfigurációs fájlokat, mint a kódváltásokat? Sokkal egyszerűbb, ha sokkal könnyebb, ha egy támogató srác módosít egy konfigurációs fájlt, mint amennyire programozót kell kérnie a kód megváltoztatására, új verzió tesztelésére és telepítésére. Tehát a konfigurációs fájlokat kell megtenni. A legegyszerűbb út az App.config hozzáadása a projekthez, az alábbi példában látható módon:

1.0utf-8





















A log4net online dokumentáció ismerteti az összes konfigurációs fájlmezőt. Az App.config beállítását követően adja hozzá a log4net használatával és ezt a sort:

[összeszerelés: log4net. Config. XmlConfigurator (Watch = true)]

A tényleges naplózót le kell vonni a LogManager hívására. GetLogger (...). A GetLoggert általában azzal a typeof (class) -nel hívják, amelyben használják, de ez a funkcióhívás azt is lehívja, hogy:

Rendszer. Visszaverődés. MethodBase. GetCurrentMethod (). DeclaringType

Ez a példa mindkettőt egy kommentálással mutatja be, így választhat.

log4net használatával;
[összeszerelés: log4net. Config. XmlConfigurator (Watch = true)]
névtér gvmake
{
osztály program
{
privát statikus olvasás ILog log = LogManager. GetLogger (Rendszer. Visszaverődés. MethodBase. GetCurrentMethod
() .DeclaringType);
// magán statikus, csak olvasható ILog log = LogManager. GetLogger (typeof (Program));
statikus érvénytelen Fő (karakterlánc [] args)
{
jelentkezzen. Hibakeresés ("Az alkalmazás indítása");
}
}
}

instagram story viewer