HTML

ÉnKép - takacsot

Friss topikok

  • Karbonade: Az első résszel egyáltalán nem értek egyet, Európában az Operának egyelőre jóval nagyobb részesedé... (2009.04.02. 14:07) My browser war
  • takacsot: @Bővíz László: Természetesen lehet. Javasolni tudom a könyvesboltok polcain az önfejlesztés részl... (2009.01.01. 12:30) Az IQ-m
  • natalie: szerintem nagyon jo könyv. ajánlom midenkinek! (2007.09.12. 01:21) Stephen King: A mobil
  • Ismeretlen_28084: zseniális könyv tényleg (2007.04.10. 15:24) Matt Beaumont: E-sztori
  • Ismeretlen_29217: Pontosan az gond, hogy a teszt kódrészletet nem tudják értelmezni. Konkrétan a paraméterátadási m... (2006.10.18. 08:02) Internyúzás

Hogyan használjuk a NDC-t log collectornak

2007.06.27. 20:09 takacsot

Szóval adott az igény, hogy minden információk kinyerjünk a rendszerből, de csak akkor, ha szükségünk van rá. Ilyen esetben az igazán kritikus hibák kiíratásáról van szó. De akkor *minden* részletes információra szükségünk van.

Amire szükség van:
  • A log4j loggolási gyakorlat átdogondolására, de csak egy kicsit
  • NDC használatára

Mit is csinálsz NDC. egyszerübb lenne, ha  a API dokumentációból kiderülne, de itt is össze tudom foglalni Ahogy megy a program elhelyezünk loggolás szerű sorokat, amik az NDC-be helyezi a logüzeneteinket. Amikor pedig ténylegesen loggolásra kerül sor ott már a PatternLayout-ba behelyezett '%x' jellel az NDC-be összegyűjtött anyagot is elhelyezzük.

Hogyan kell a loggolási gyakorlatot megváltoztatni? A DEBUG levelt kisebb mértékben kell használni. Helyette gyakorlatilag csak a NDC-t. Majd mikor tényegesen valami hiba történik, akkor Pedig a log kiírás miatt eleve benne lesz minden információ Debugg level szintű részletességgel.

Hátrányok:
  • igazából csak annyi, hogy a NDC kiíratás nem túl formázható alapesetben. Csak simán egy sorba kiírja a benne lévő adatokat, pedig teljesen jó lenne, ha mondjuk egymás alá is kiíratná, de legalábbis valami jól érzékelhető szeparátorral működne, de a jelenlegi sima szóköz nem a legmegfelelőbb.
  • rejtett performancia gondok. Log4j eleve említi, hogy, ha nem is logol, akkor is meglepően nagy lehet a performacia veszteség a logüzenetek létrehozása miatt. Erre van benne a 'isDebuggEnabled' és barátai. NDC-ben sajnos ezt nem tudjuk megspórolni. Ha beleteszünk egy alacsonyabb szintű loggenabled ellenőrzést, akkor nem lesz elég részletes.

Igazából ezen két ok az, ami miatt talán egy Logcollector megvalósítás mégiscsak kellene. Mivel önálló komponens az első gondot azonnal megoldódik, mert én írom a kiíratási rutint. A második dolog, pedig MessageEntry objektumok létrehozásával oldódik meg. Egy sima gyűjtőobjektum létrehozása nem olyan teljesítményromboló, mint egy több száz kilós konfigurációs file objektum reprezentációjának kiiratása majdnem minden alkalommal (például).

Szólj hozzá!

Címkék: it, java, log4j

A bejegyzés trackback címe:

https://takacsot.blog.hu/api/trackback/id/tr62775930

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása