Rozdiel medzi Slf4j vs. Log4j

Ak ste vývojár, vo svojej kariére ste často písali vyhlásenie o ťažbe. V tomto článku sme sa venovali dvom najbežnejšie používaným mechanizmom protokolovania - Log4j a Slf4j. Predtým, ako začneme, bolo by dobré pochopiť niektoré základy pokrývajúce ČO a ČOŤ časť ťažby dreva. V tejto téme sa dozvieme viac o Slf4j vs Log4j.

SLF4J: Je to skrátený termín jednoduchej fasády protokolovania pre Java, ktorá umožňuje používateľom zapojiť požadovaný systém protokolovania počas zavádzania softvérových aplikácií. Upozorňujeme tiež, že sme použili výraz Fasádny vzor, ​​ktorý nie je ničím iným ako vzorom softvérového dizajnu, ktorý sa bežne používa v OOP.

Log4J: Je to protokolovacia platforma (tj samotná polotovarová aplikácia), ktorá je spoľahlivá, flexibilná a rýchla. Protokoly možno rozdeliť do rôznych úrovní, ako je sledovanie, ladenie, informácie, chyby, fatálne a niekoľko ďalších režimov. Tieto podrobnosti protokolovania je možné zdieľať na rôznych platformách, ako sú iné databázy a súborové konzoly.

ČO - LOGOVÉ SÚBORY možno považovať za históriu sledovania všetkých aktivít s ich výsledkami. Držia tiež všetky podrobnosti o interakciách, ktoré mal užívateľ so systémom, buď podrobnosti o transakcii, informácie, alebo tiež, ak sa niečo pokazí (mám na mysli, že konkrétna činnosť nevykonáva vykonanie).

PREČO - potrebujeme sledovať problémy, výkazy týkajúce sa načítania funkcií, typ parametrov, ktoré sme prešli, varovné správy alebo oznámenia, aby sme lepšie porozumeli aplikácii vo vývojovej fáze a môžu sa tiež použiť na budúce použitie.

Porovnanie vzájomných vzťahov medzi Slf4j a Log4j (infografika)

Nižšie je uvedených päť najlepších rozdielov medzi Slf4j a Log4j

Kľúčové rozdiely medzi Slf4j a Log4j

Poďme diskutovať o niektorých hlavných rozdieloch medzi Slf4j vs Log4j:

1. Ssl4j je iba abstrakcia alebo poskytuje abstrakčnú vrstvu a nepoužívame ju, zatiaľ čo Log4j je logovací rámec, ktorý má rôzne implementácie.

2. Hovorenie o zložkách v rámci týchto dvoch Sl4j nemá žiadne komponenty ako také, má zoznam implementácií ako logback alebo NOPloggers a niekoľko ďalších, zatiaľ čo v prípade log4j má 3 hlavné komponenty, konkrétne -

  • Loggery: tieto zaznamenávajú logovacie informácie počas behu programu
  • Pripojovatelia: pôsobia ako výstupy pri zverejňovaní informácií o protokolovaní do rôznych cieľov.
  • Rozloženie: poskytujú možnosť formátovania do rôznych štýlov.

3. Keď už hovoríme o preferenciách, chceme povedať, že neexistuje priame porovnanie medzi ssl4j a log4j, ale môžu existovať preferencie založené na konkrétnych situáciách a kedy použiť ktorúkoľvek z nich, nasleduje pod zoznamom -

  • Ssl4j sa ľahko používa ako API 'a je jednoduchý a jednoduchý
  • Ssl4j podporuje všetky dôležité protokolovacie rámce
  • Distribúcia Ssl4j sa dodáva s väzbami pre rôzne záznamníky, ako sú jednoduché záznamníky, NOPlogger, Log4jloggeradapter, JDK14loggeradapter a JCLLoggerAdapter.
  • Ssl4j riadi závislosti od Maven
  • Je široko používaný, pretože je dokonale zdokumentovaný so všetkými, ak je, ale s ohľadom na to
  • Ssl4j podporuje diagnostické mapovanie kontextu pri ukladaní informácií o kontexte
  • Log4j sa považuje za bezpečný pre protokolovanie
  • Je vysoko optimalizovaný pre výkony
  • Log4j podporuje viac ako jedného appenderu (súčasť log4j) na jeden logger
  • Vo veľkej miere sa používa v priemysle a nastavuje parametre internalizácie.
  • Log4j podporuje viac úrovní protokolovania, napríklad WARN, INFO a ERROR.
  • Formát a cieľ protokolovania je možné ľahko zmeniť zmenou triedy rozloženia a implementáciou rozhrania appender.

4. Slf4j možno nakonfigurovať tak, aby používal Log4j ako backend protokolovania pre spoluprácu, ale neskoršia konverzia nie je možná.

Porovnávacia tabuľka Slf4j vs. Log4j

Pozrime sa na niektoré ďalšie rozdiely medzi Slf4j a Log4j

nadpisSlf4jLog4j
sťahovanieSlf4j je kompatibilný so všetkými jeho predchádzajúcimi verziami. Užívateľ môže bez problémov migrovať zo slf4j na ľubovoľnú verziu.Existuje niekoľko prekážok, o ktoré sa treba starať pri migrácii. Keď už hovoríme o Log4j2, spätná kompatibilita nie je možná.
Najnovšia verziaSsl4j vydala svoju najnovšiu a stabilnú verziu 1.7Verzia 2.0.8 je najnovšie vydanie.
Výber preferenciíKnižnice a vložené komponenty by mali uprednostňovať ssl4j pre svoje potreby protokolovania, pretože tieto knižnice nemajú na výber koncového používateľa voľbu rámca protokolovania.Kedykoľvek potrebujete dynamickejší a flexibilnejší prístup, ktorý ponúka viac funkcií.
predpokladyPrvá vec, ktorá sa na prvý pohľad líši, závisí od verzie. Novšie verzie majú v porovnaní so svojimi novšími náprotivkami odlišné požiadavky. Pozrime sa na niektoré z týchto požiadaviek -

  • slf4j-nop: JDK 1.5
  • slf4j-simple: JDK 1.5
  • slf4j-log4j12: JDK 1.5, plus akékoľvek ďalšie závislosti od knižnice, ktoré vyžaduje používaný doplnok log4j
  • slf4j-jdk14: JDK 1.5 alebo novší
  • logback-classic: JDK 1.5 alebo novší
Existuje niekoľko závislostí na základe požiadavky, ale niekoľko dôležitých a bežne zvažovaných je uvedených nižšie -

  • log4j 1.2.8 a predchádzajúce verzie sú kompatibilné s JDK 1.1.x, zatiaľ čo novšia verzia log4j 1.2 je kompatibilná s JDK 1.2 a novšími
  • test log4j sa spolieha na testovací rámec JUnit
  • org.aache.log4j vyžaduje JMS API a JNDI
APINiektoré bežné API rozhrania slf4j sú -

  • JCL-over-slf4j
  • jul-to-slf4j (pre java.util.logging)
  • Log4j-over-slf4j (API kompatibilné s log4j)
Niektoré API log4j sú -

  • Category.getParent ()
  • Category.setLevel ()
  • Category.setPriority ()
  • Category.getAdditivity ()
  • Category.setAdditivity ()
  • Category.getResourceBundle ()
  • BasicConfigurator.configure ()

záver

Logovanie je podstatnou súčasťou riešenia problémov s aplikáciou, je to vývojový parameter zisťovania problémov počas vývojového cyklu. Pokiaľ ide o ťažbu dreva, boli sme svedkami dvoch rozhodujúcich hráčov, a to CLF4J a LOG4J. Videli sme tiež, čo sú SLF4J a LOG4J, aké možnosti majú a ako ich možno použiť. V zásade ich používajú vývojári na protokolovanie a majú určité špecifické pokyny pre používanie

Uviedli sme blokový diagram toho, ako sa tieto dva zmestia v scenári protokolovania -

Odporúčané články

Toto je sprievodca Slf4j vs Log4j. Tu diskutujeme o základných rozdieloch Slf4j vs Log4j s informačnou a porovnávacou tabuľkou. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Možné vs Bábkové
  2. Možné vs Bábkové vs šéfkuchár
  3. Debian vs Arch
  4. Kubernetes vs Docker

Kategórie: