logo

Лог4ј против СЛФ4Ј

СЛФ4Ј (Једноставна фасада за евидентирање за Јава) је АПИ дизајниран да пружи генерички приступ многим оквирима за евидентирање, а лог4ј је један од њих.

То је у основи слој апстракције. То није имплементација евидентирања. То значи да ако пишете библиотеку и користите СЛФ4Ј, можете ту библиотеку дати неком другом на коришћење и они могу да изаберу коју имплементацију евидентирања да користе са СЛФ4Ј, на пример, лог4ј или Јава АПИ за евидентирање. Користи се да спречи да апликације зависе од различитих АПИ-ја за евидентирање као што користе библиотеке које зависе од њих.

Међутим, ми елаборирамо разлику између Лог4Ј и СЛФ4Ј која заслужује само један одговор. тј. само питање је погрешно. СЛФ4Ј и Лог4Ј се разликују или нису сличне компоненте. Као што је наведено у називу, СЛФ4Ј је једноставна фасада за логовање за Јава. То није компонента за евидентирање, па чак и не врши стварно евидентирање. То је само слој апстракције основне компоненте евидентирања.

стринг и подниз

У случају Лог4ј , то је компонента за евидентирање и врши евиденцију за коју је наложено. Дакле, можемо рећи да су СЛФ4Ј и Лог4Ј логички две различите ствари.

генерисати случајни број у Јави
Лог4ј против СЛФ4Ј

Сада, све што треба да изаберете, који оквир за евидентирање треба да користите у рунтиме-у. За то ћете морати да укључите две јар датотеке:

  • СЛФ4Ј повезујућа јар датотека
  • Жељене јар датотеке оквира за евидентирање

На пример, да бисте користили лог4ј у свом пројекту, мораћете да укључите следеће јар датотеке:

  • слф4ј-лог4ј12-1.7.12.јар
  • лог4ј-1.2.17.јар

Када поставите обе јар датотеке у путању до класе ваше апликације, СЛФ4Ј ће је аутоматски открити и почети да користи лог4ј за обраду изјава дневника на основу конфигурације коју сте дали у лог4ј конфигурационој датотеци.

На пример, код испод који можете да напишете у датотеци класе пројекта:

 import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(HelloWorld.class); logger.info('Hello World'); } } 

Зашто је СЛФ4Ј бољи од Лог4Ј?

Увек је тешко дати предност једном између СЛФ4Ј и Лог4ј. Ако имате избора, предложио бих вам; Апстракција евидентирања је увек пожељнија од оквира за евидентирање. Ако користите апстракцију евидентирања, посебно СЛФ4Ј, можемо мигрирати на било који оквир за евидентирање који нам је потребан у тренутку постављања без одабира једне зависности.

преузми иоутубе са влц

Следе разлози који су довољно добри да изаберете СЛФ4Ј уместо Лог4ј:

  • Увек је боље користити апстракцију.
  • СЛФ4Ј је библиотека отвореног кода или интерна библиотека која је чини независном од било које конкретне имплементације евидентирања, што значи да нема потребе за управљањем вишеструким конфигурацијама евидентирања за више библиотека.
  • СЛФ4Ј обезбеђује евидентирање засновано на чувару места, што побољшава читљивост кода уклањањем провера као што су исИнфорЕнаблед(), исДебугЕнаблед(), итд.
  • Користећи метод евидентирања СЛФ4Ј, одлажемо трошкове прављења порука за евидентирање (стринг), док вам не затребају, што је ефикасно и за ЦПУ и за меморију.
  • Пошто СЛФ4Ј користи мањи број привремених стрингова значи мање посла за сакупљач смећа, што значи бољу пропусност и перформансе за вашу апликацију.

Дакле, у суштини, СЛФ4Ј не замењује лог4ј; обоје раде заједно. Он уклања зависност од лог4ј из ваше апликације и олакшава његову замену у будућности са способнијом библиотеком.