Slf4j vs Log4j - Lär dig de bästa skillnaderna mellan Slf4j och Log4j

Innehållsförteckning:

Anonim

Skillnaden mellan Slf4j vs Log4j

Om du är en utvecklare har du skrivit ett loggningsförklaring ofta i din karriär. Vi i denna artikel har täckt två av de mest använda loggmekanismerna - Log4j och Slf4j. Innan vi börjar skulle det vara bra att förstå några grunder som täcker VAD och varför delen av timmer. I det här ämnet kommer vi att lära oss om Slf4j vs Log4j.

SLF4J: Det är en förkortad term för enkel loggfasad för Java som gör det möjligt för användare att ansluta det önskade loggningssystemet under installationen av programvaran. Observera också att vi använde termen fasadmönster som inte är annat än ett mönster för mjukvara som är vanligt att använda i OOP.

Log4J: Det är en loggningsram (dvs. en semi build-applikation i sig) som är pålitlig, flexibel och snabb. Loggningarna kan kategoriseras i olika nivåer som spår, felsökning, info, fel, dödlig och flera andra lägen. Dessa loggningsdetaljer kan delas till olika plattformar som andra databaser och filkonsoler.

VAD - LOGGFILER kan betraktas som en spårningshistorik för alla aktiviteter med deras resultat. De har också alla slags interaktionsdetaljer som en användare hade med systemet antingen vara transaktionsdetaljer, information eller också om något går fel (jag menar att säga om den specifika aktiviteten inte utför exekveringen).

VARFÖR - vi måste spåra problemen, uttalanden om laddning av funktioner, vilken typ av parametrar vi har gått, varningsmeddelanden eller aviseringar för att bättre förstå applikationen i utvecklingsfasen och kan också användas för framtida referens.

Jämförelse mellan huvud och huvud mellan Slf4j vs Log4j (Infographics)

Nedan visas de 5 bästa skillnaderna mellan Slf4j vs Log4j

Viktiga skillnader mellan Slf4j vs Log4j

Låt oss diskutera några av de största skillnaderna mellan Slf4j vs Log4j:

1. Ssl4j är bara en abstraktion eller det ger ett abstraktionslager och vi använder det inte medan Log4j är ett loggningsramverk som har olika implementationer.

2. Att prata om komponenterna i dessa två Sl4j har inga komponenter som sådana, det har en lista med implementationer som logback eller NOPloggers och flera andra medan det vid log4j har tre huvudkomponenter inom nämligen -

  • Loggare: dessa fångar loggningsinformationen under körtiden
  • Appendenter: de fungerar som output medan de publicerar loggningsinformationen till olika destinationer.
  • Layouts: de tillhandahåller formateringsalternativ i olika stilar.

3. När vi talar om preferenser vill vi säga att det inte finns någon direkt jämförelse mellan ssl4j och log4j men det kan finnas preferenser baserade på speciella situationer och när du ska använda någon av dem följer du nedanför listan -

  • Ssl4j är lätt att använda som API och enkelt och enkelt
  • Ssl4j stöder alla viktiga loggningsramar
  • Ssl4j-distribution distribueras med bindningar för olika loggare som enkla loggare, NOPlogger, Log4jloggeradapter, JDK14loggeradapter och JCLLoggerAdapter.
  • Ssl4j hanterar Maven-beroenden
  • Det används i stor utsträckning eftersom det är perfekt dokumenterat med alla ifs och men hänsyn
  • Ssl4j stöder diagnostisk sammanhangskartläggning under lagring av kontextinformation
  • Log4j anses vara säker för loggning
  • Den är mycket optimerad för föreställningar
  • Log4j stöder mer än en appendern (en del av log4j) per logger
  • Det används i stor utsträckning inom branschen och anger parametrarna för internalisering.
  • Log4j stöder flera loggningsnivåer som WARN, INFO och ERROR.
  • Loggformatet och destinationen kan enkelt ändras genom att ändra layoutklassen och genom att implementera appenderns gränssnitt.

4. Slf4j kan konfigureras för att använda Log4j som en loggningsbackend för att arbeta tillsammans men senare konvertering av inte möjligt.

Slf4j vs Log4j jämförelsetabell

Låt oss se några fler skillnader mellan Slf4j vs Log4j

TitelSlf4jLog4j
migrationSlf4j är kompatibel med alla tidigare versioner. En användare kan enkelt migrera från slf4j till vilken version som helst utan problem.Det finns flera hinder eftersom man måste se efter migrationen, prata om Log4j2 är bakåtkompatibiliteten inte möjlig.
Senaste versionenSsl4j har släppt sin senaste och stabila version av 1.7Version 2.0.8 är den senaste upplagan.
Val av preferenserBibliotek och inbäddade komponenter bör föredra ssl4j för sina loggningsbehov eftersom dessa bibliotek inte har valet av loggningsramar vid slutanvändare.När du behöver en mer dynamisk, flexibel strategi som erbjuder fler funktioner.
FörutsättningarFörst varierar förutsättningarna enligt versionerna. Senare versioner har några olika krav jämfört med deras nyare motsvarigheter. Låt oss se några av dessa krav -

  • slf4j-nop: JDK 1.5
  • slf4j-simple: JDK 1.5
  • slf4j-log4j12: JDK 1.5, plus alla andra bibliotekberoende som krävs av log4j-appendern som används
  • slf4j-jdk14: JDK 1.5 eller senare
  • logback-classic: JDK 1.5 eller senare
Det finns flera beroenden baserade på krav men de få viktiga och ofta betraktade nämns nedan -

  • log4j 1.2.8 och tidigare versioner är kompatibla med JDK 1.1.x, medan den senare versionen av log4j 1.2 är kompatibel med JDK 1.2 och senare
  • log4j-testet bygger på JUnit-testramen
  • org.aache.log4j kräver JMS API och JNDI
APINågra vanliga API: er för slf4j är -

  • JCL-over-slf4j
  • jul-till-slf4j (för java.util.logging)
  • Log4j-over-slf4j (API kompatibel med log4j)
Några av API: erna för log4j är -

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

Slutsats

Loggning är en viktig del av applikationsfelsökning är berört, det är en utvecklingsparameter för att hitta problem under utvecklingscykeln. När det gäller loggning har vi sett två avgörande spelare, dvs CLF4J och LOG4J. Vi har också sett vad SLF4J och LOG4J är, vilka möjligheter de har och hur de kan användas. De används i huvudsak av utvecklare för loggning och har några specifika riktlinjer för användning

Vi har listat ett blockschema över hur dessa två passar in i loggscenariot -

Rekommenderade artiklar

Detta är en guide till Slf4j vs Log4j. Här diskuterar vi Slf4j vs Log4j viktiga skillnader med infografik och jämförelse tabell. Du kan också titta på följande artiklar för att lära dig mer -

  1. Ansible vs Puppet
  2. Ansible vs Puppet vs Chef
  3. Debian vs Arch
  4. Kubernetes vs Docker