Slf4j ja Log4j erinevus

Kui olete arendaja, olete oma karjääri jooksul sageli logimisavalduse kirjutanud. Selles artiklis oleme käsitlenud kahte kõige sagedamini kasutatavat logimismehhanismi - Log4j ja Slf4j. Enne alustamist oleks hea mõista põhitõdesid MIDA ja MIKS metsaraie osa kohta. Selles teemas õpime tundma Slf4j vs Log4j.

SLF4J: see on Java jaoks lihtsustatud logifassaadi lühendatud termin, mis võimaldab kasutajatel tarkvararakenduste juurutamise ajal soovitud logisüsteemi pistikühenduse lisada. Samuti pange tähele, et kasutasime terminit Fassaadimuster, mis pole midagi muud kui tarkvara kujundusmuster, mida OOP-is kasutatakse.

Log4J: see on usaldusväärne, paindlik ja kiire logimisraamistik (st iseenesest osaliselt ehitatav rakendus). Logimisi saab liigitada erinevatele tasemetele nagu jälgimine, silumine, info, tõrge, fataalne ja mitmed muud režiimid. Need sisselogimisandmed on jagatavad erinevatele platvormidele, nagu muud andmebaasid ja failikonsoolid.

MIS - LOGIPILDE võib pidada kõigi tegevuste jälgimisajalooks koos nende tulemustega. Need sisaldavad ka igat liiki interaktsiooni üksikasju, mis kasutajal süsteemiga olid, kas tehingu üksikasjad, teave või ka siis, kui midagi läheb valesti (ma mõtlen öelda, kui konkreetne tegevus ei teosta täitmist).

MIKS - peame jälgima probleeme, avaldusi funktsioonide laadimise kohta, ületatud parameetrite tüüpe, hoiatussõnumeid või teatisi, et rakenduse arenguetapis paremini aru saada ja mida saab kasutada ka edaspidiseks kasutamiseks.

Slf4j ja Log4j (Infographics) võrdlus ühest otsast teise

Allpool on toodud viis peamist erinevust Slf4j vs Log4j vahel

Peamised erinevused Slf4j vs Log4j vahel

Arutame mõned peamised erinevused Slf4j vs Log4j vahel:

1. Ssl4j on lihtsalt abstraktsioon või see pakub abstraktsioonikihti ja me ei kasuta seda, samas kui Log4j on logimisraamistik, millel on erinevad rakendused.

2. Selles kahes Sl4j-s sisalduvatest komponentidest rääkides ei ole ühtegi komponenti kui sellist. Sellel on loetelu rakendustest nagu logback või NOPloggers ja mitmed teised, samas kui log4j puhul on sellel 3 peamist komponenti, nimelt -

  • Lokitajad: need hõivavad kogu tööaja jooksul logimisandmeid
  • Lisad: nad toimivad väljunditena, avaldades logimisandmeid eri sihtkohtadesse.
  • Paigutused: need pakuvad erinevate stiilide vormindamise võimalust.

3. Eelistustest rääkides tahaksime öelda, et ssl4j ja log4j vahel puudub otsene võrdlus, kuid eelistused võivad põhineda konkreetsetel situatsioonidel ja millal mõlemat neist kasutada, järgneb loetelu allpool -

  • Ssl4j on lihtne kasutada API-na ning lihtne ja arusaadav
  • Ssl4j toetab kõiki olulisi logimisraamistikke
  • Ssl4j jaotus tarnitakse köidetega erinevatele logijatele nagu lihtsad logijad, NOPlogger, Log4jloggeradapter, JDK14loggeradapter ja JCLLoggerAdapter.
  • Ssl4j haldab Maveni sõltuvusi
  • Seda kasutatakse laialdaselt, kuna see on suurepäraselt dokumenteeritud kõigi vajalike juhtumitega ja arvestamata
  • Ssl4j toetab diagnostilist konteksti kaardistamist, säilitades samal ajal kontekstiteavet
  • Log4j peetakse metsaraie harjutamiseks ohutuks
  • See on etenduste jaoks väga optimeeritud
  • Log4j toetab rohkem kui ühte manust (log4j komponent) logija kohta
  • Seda kasutatakse laialdaselt kogu tööstuses ja see seab internaliseerimisparameetrid.
  • Log4j toetab mitut logimistaset, näiteks WARN, INFO ja ERROR.
  • Logimisvormingut ja sihtkohta saab hõlpsasti muuta, muutes paigutusklassi ja rakendades lisaliidese.

4. Slf4j saab konfigureerida kasutama Log4j-d koos töötamiseks logimise taustaprogrammina, kuid hilisem teisendamine pole võimalik.

Slf4j vs Log4j võrdlustabel

Vaatame veel mõningaid erinevusi Slf4j vs Log4j vahel

PealkiriSlf4jLog4j
RänneSlf4j ühildub kõigi selle varasemate versioonidega. Kasutaja saab hõlpsalt migreerida slf4j-st suvalisse versiooni ilma probleemideta.On mitmeid takistusi, kuna tuleb hoolitseda migratsiooni eest, rääkides Log4j2-st, tagumine ühilduvus pole võimalik.
Uusim versioonSsl4j on välja andnud nende uusima ja stabiilse versiooni 1.7Versioon 2.0.8 on uusim väljaanne.
Eelistuste valikTeekid ja manustatud komponendid peaksid oma logimisvajaduste jaoks eelistama ssl4j, kuna neil teekidel pole lõppkasutajal logimisraamistiku valikut.Kui vajate dünaamilisemat ja paindlikumat lähenemist, mis pakub rohkem funktsioone.
EeltingimusedEsiteks erinevad eeltingimused vastavalt versioonidele. Hilisematel versioonidel on võrreldes uuemate versioonidega mõned erinevad nõuded. Vaatame mõnda neist nõuetest -

  • slf4j-nop: JDK 1.5
  • slf4j-simple: JDK 1.5
  • slf4j-log4j12: JDK 1.5, pluss muud kasutatavad log4j lisandiga nõutavad teegisõltuvused
  • slf4j-jdk14: JDK 1.5 või uuem
  • logback-classic: JDK 1.5 või uuem
Nõudel põhinevaid sõltuvusi on mitu, kuid allpool on nimetatud vähe olulisi ja üldiselt kaalutavaid -

  • log4j 1.2.8 ja varasemad versioonid ühilduvad JDK 1.1.x-ga, hilisem log4j 1.2 versioon ühildub JDK 1.2-ga
  • log4j test tugineb JUnit testimisraamistikule
  • org.aache.log4j nõuab JMS API ja JNDI
API-dMõned levinumad slf4j API-d on -

  • jcl-üle-slf4j
  • juuli kuni slf4j (java.util.logging jaoks)
  • Log4j-over-slf4j (log4j-ga ühilduv API)
Mõned log4j API-d on -

  • Kategooria.getParent ()
  • Kategooria.setLevel ()
  • Kategooria.setPriority ()
  • Kategooria.getAdditiivsus ()
  • Kategooria.setAddivity ()
  • Kategooria.getResourceBundle ()
  • BasicConfigurator.configure ()

Järeldus

Logimine on oluline osa rakenduse tõrkeotsingust, see on arenguparameeter probleemide leidmiseks arendustsükli vältel. Metsaraie osas oleme olnud tunnistajaks kahele olulisele mängijale, st CLF4J ja LOG4J. Samuti oleme näinud, millised on SLF4J ja LOG4J, millised võimalused neil on ja kuidas neid kasutada. Põhimõtteliselt kasutavad arendajad neid logimiseks ja neil on mõned konkreetsed kasutusjuhised

Oleme loetlenud plokkskeemi, kuidas need kaks logistsenaariumi sobivad -

Soovitatavad artiklid

See on juhend Slf4j vs Log4j. Siin käsitleme Slf4j vs Log4j peamisi erinevusi infograafika ja võrdlustabeliga. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Võimalik vs nukk
  2. Võimalik vs nuku vs kokk
  3. Debian vs Arch
  4. Kubernetes vs dokker

Kategooria: