Kaip atlikti prisijungimą C # naudojant

Kai rašai kompiuterio kodas C #, tai yra gera idėja įtraukti registravimo kodą. Tokiu būdu, kai kažkas negerai, jūs žinote, kur pradėti ieškoti. „Java“ pasaulis tai daro jau daugelį metų. Tam galite naudoti „log4net“. Tai yra „Apache log4j 2“, populiarios atvirojo kodo registravimo sistemos, dalis.

Tai nėra vienintelė .NET registravimo sistema; yra daug. Tačiau Apache vardas yra patikimas, o originali „Java“ registravimo sistema egzistuoja daugiau nei 15 metų.

Kodėl verta naudoti „Log4net“ registravimo sistemą?

Kai programa ar serveris sugenda, jums lieka žinoti, kodėl. Ar tai buvo aparatūros gedimas, kenkėjiška programinė įranga, gal „Denial of Service“ ataka ar koks keistas raktų derinys, kuris sugeba apeiti visus jūsų kodo tikrinimus? Jūs tiesiog nežinote.

Turite išsiaiškinti, kodėl įvyko avarija, kad ją būtų galima ištaisyti. Kai įjungta registracija, galbūt galėsite sužinoti, kodėl tai įvyko.

Darbo pradžia

Atsisiųskite „log4net“ failą iš „Apache log4net“ svetainės. Patikrinkite atsisiųstų failų vientisumą naudodami PGP parašą arba MD5 kontrolines sumas. Kontrolinės sumos nėra tokie stiprūs rodikliai, kaip PGP parašas.

instagram viewer

Naudojant „Log4net“

„Log4net“ palaiko septynis registravimo lygius iš nė vieno į kitą, kad padidėtų prioritetas. Šitie yra:

  1. IŠJUNGTA
  2. MIRTINAS
  3. KLAIDA
  4. DĖMESIO
  5. INFO
  6. ATSISAKYTI
  7. VISOS

Aukštesni lygiai apima visus žemesnius. Derindami naudokite ATSISAKYTI rodo viską, bet produkcija jus gali sudominti tik FATAL. Šis pasirinkimas gali būti atliekamas komponentų lygiu programiškai arba XML Config faile.

Medienos kirtėjai ir priedėliai

Siekdamas lankstumo, „log4net“ naudoja žurnalus, priedus ir išdėstymus. Logger yra objektas, kuris kontroliuoja registravimą ir yra ILog sąsajos įgyvendinimas, kuris nurodomi penki loginiai metodai: isDebugEnabled, IsInfoEnabled, IsWarnEnabled, IsErrorEnabled ir „IsFatalEnabled“. Jame taip pat nurodomi penki metodai - derinimo, informacijos, perspėjimo, klaidų ir mirties atvejai, taip pat perkrovos ir penkios suformatuotos eilutės versijos. Visą „ILog“ sąsają galite pamatyti internetiniame „log4net“ vadove.

Loggeriams priskiriamas vienas iš lygių, bet ne VISAS ar IŠJUNGTAS, tik kiti penki.

Priedai kontroliuoja, kur vyksta medienos ruoša. Tai gali būti duomenų bazėje, buferiniame atmintyje, pulte, nuotoliniame pagrindiniame kompiuteryje, tekstiniame faile su riedėjimo žurnalais, „Windows“ įvykių žurnale ar net el. Paštu per SMTP. Iš viso yra 22 priedėliai, juos galima derinti, todėl turite daug pasirinkimo galimybių. Prie medienos ruošos pridedami priedai (taigi ir vardas).

Priedėliai filtruoja įvykius, suderindami substringus, įvykio lygį, lygių diapazoną ir registravimo žurnalo vardo pradžią.

Maketai

Galiausiai yra septyni išdėstymai, kuriuos galima susieti su priedėliu. Jie valdo, kaip įvykio pranešimas yra registruojamas, ir gali apimti išimties tekstą, laiko žymos išdėstymą ir XML elementai.

Konfigūravimas naudojant XML

Nors konfigūravimą galima atlikti programiškai, tai galima padaryti ir naudojant XML Config failus. Kodėl pirmenybę teikiate konfigūracijos failams, o ne kodo pakeitimams? Paprasta, kad daug lengviau, jei palaikymo vyrukas pakeistų konfigūracijos failą, nei gauti programuotoją, kad jis pakeistų kodą, išbandytų ir iš naujo įdėtų naują versiją. Taigi konfigūracijos failai yra kelias. Paprasčiausias būdas yra pridėti „App.config“ savo projektą, kaip parodyta žemiau pateiktame pavyzdyje:

1.0utf-8





















„Log4net“ internetinėje dokumentacijoje paaiškinami visi konfigūracijos failo laukai. Nustatę „App.config“, pridėkite naudodami „log4net“ ir šią eilutę:

[surinkimas: log4net. Konfigūruoti. XmlConfigurator (Žiūrėti = tiesa)]

Be to, tikrasis medienos ruošalas turi būti gautas paskambinus į „LogManager“. „GetLogger“ (...). „GetLogger“ paprastai yra iškviečiamas naudojant tipą (klasę), kuriame jis naudojamas, tačiau šis funkcijos skambutis taip pat atneša, kad:

Sistema. Atspindys. „MethodBase“. „GetCurrentMethod“) deklaravimo tipas

Šis pavyzdys parodytas tiek viename komentare, tiek jūs galite pasirinkti.

naudojant log4net;
[surinkimas: log4net. Konfigūruoti. XmlConfigurator (Žiūrėti = tiesa)]
vardų sritis
{
klasės programa
{
privatus statinis tik skaitymas ILog log = LogManager. „GetLogger“ (sistema. Atspindys. „MethodBase“. „GetCurrentMethod“
() .DeclaringType);
// privatus statinis tik skaitymas ILog log = LogManager. „GetLogger“ (typeof (Program));
static void Main (eilutė [] args)
{
žurnalas. Derinimas („Programos paleidimas“);
}
}
}