Kā pieteikties C#, izmantojot Log4net
Kad lietojumprogramma vai serveris avarē, žurnāls vienkāršo problēmu novēršanu
Cavan Images/Iconica/Getty Images
Kad tu rakstidatora kodsC# ir laba ideja iekļaut reģistrēšanas kodu. Tādā veidā, kad kaut kas noiet greizi, jūs zināt, kur sākt meklēt. Java pasaule to ir darījusi gadiem ilgi. Šim nolūkam varat izmantot log4net. Tā ir daļa no Apache log4j 2, populāras atvērtā pirmkoda reģistrēšanas sistēmas.
Šī nav vienīgā .NET reģistrēšanas sistēma; tur ir daudz. Tomēr Apache vārds ir uzticams, un sākotnējā Java reģistrēšanas sistēma pastāv jau vairāk nekā 15 gadus.
Kāpēc izmantot Log4net reģistrēšanas ietvaru?
Kad lietojumprogramma vai serveris avarē, jums rodas jautājums, kāpēc. Vai tā bija aparatūras kļūme, ļaunprātīga programmatūra, varbūt pakalpojuma atteikuma uzbrukums vai kāda nepāra taustiņu kombinācija, kas spēj apiet visas jūsu koda pārbaudes? Jūs vienkārši nezināt.
Jums ir jānoskaidro, kāpēc notika avārija, lai to varētu labot. Ja reģistrēšana ir iespējota, iespējams, varēsit redzēt, kāpēc tā notika.
Darba sākšana
Lejupielādējiet log4net failu no Apache log4net vietnes. Pārbaudiet lejupielādēto failu integritāti, izmantojot PGP parakstu vai MD5 kontrolsummas. Kontrolsummas nav tik spēcīgi rādītāji kā PGP paraksts.
Izmantojot Log4net
Log4net atbalsta septiņus reģistrēšanas līmeņus no neviena līdz visiem ar pieaugošu prioritāti. Šie ir:
- IZSLĒGTS
- FATAL
- KĻŪDA
- BRĪDINĀT
- INFORMĀCIJA
- ATKLĀŠANA
- VISI
Augstākajos līmeņos ietilpst visi zemākie. Atkļūdojot, izmantojotATKLĀŠANArāda visu, bet ražošanas laikā jūs varētu interesēt tikai FATAL. Šo izvēli var veikt komponentu līmenī programmatiski vai XML konfigurācijas failā.
Mežizstrādes cirtēji un pielikumi
Lai nodrošinātu elastību, log4net izmanto reģistrētājus, papildinājumus un izkārtojumus. Reģistrētājs ir objekts, kas kontrolē reģistrēšanu un ir ILog interfeisa implementācija, kas nosaka piecas Būla metodes: isDebugEnabled, IsInfoEnabled, IsWarnEnabled, IsErrorEnabled un IsFatalEnabled. Tajā ir norādītas arī piecas metodes — atkļūdošana, informācija, brīdinājums, kļūda un liktenīgs —, kā arī pārslodzes un piecas formatētas virknes versijas. Pilnu ILog interfeisu varat redzēt log4net tiešsaistes rokasgrāmatā.
Mežizstrādniekiem tiek piešķirts viens no līmeņiem, bet ne VISI vai IZSLĒGTS, bet tikai pārējie pieci.
Pielikumi kontrolē, kur notiek reģistrēšana. Tas var būt datu bāzē, atmiņas buferī, konsolē, attālajā resursdatorā, teksta failā ar mainīgiem žurnāliem, Windows notikumu žurnālā vai pat e-pastā, izmantojot SMTP. Kopumā ir 22 pielikumi, un tos var kombinēt, lai jums būtu daudz izvēles iespēju. Papildinājumi tiek pievienoti (tātad nosaukums) mežizstrādātājam.
Pielikumi filtrē notikumus, saskaņojot apakšvirknes, notikumu līmeni, līmeņu diapazonu un reģistrētāja nosaukuma sākumu.
Izkārtojumi
Visbeidzot, ir septiņi izkārtojumi, kurus var saistīt ar papildinājumu. Tie nosaka, kā notikuma ziņojums tiek reģistrēts, un var ietvert izņēmuma tekstu, laikspiedolu izkārtojumus unXML elementi.
Konfigurēšana ar XML
Lai gan konfigurēšanu var veikt programmatiski, to var veikt arī ar XML Config failiem. Kāpēc jūs dotu priekšroku konfigurācijas failiem, nevis koda izmaiņām? Vienkārši, ir daudz vieglāk likt atbalsta dienestam veikt izmaiņas konfigurācijas failā, nekā likt programmētājam mainīt kodu, pārbaudīt un atkārtoti izvietot jaunu versiju. Tātad konfigurācijas faili ir pareizais ceļš. Vienkāršākais iespējamais ceļš ir pievienot App.config savam projektam, kā parādīts tālāk esošajā piemērā.
|_+_|
Log4net tiešsaistes dokumentācijā ir izskaidroti visi konfigurācijas faila lauki. Pēc App.config iestatīšanas pievienojiet, izmantojot log4net un šo rindiņu:
|_+_|
Turklāt faktiskais reģistrētājs ir jāiegūst, izsaucot LogManager.GetLogger(...). GetLogger parasti tiek izsaukts ar to (klases) tipu, kurā tas tiek izmantots, taču šis funkcijas izsaukums arī ienes:
|_+_|
Šajā piemērā ir redzami abi ar vienu komentāru, tāpēc varat izvēlēties.
|_+_|