Шта је логгер у Јави и зашто га користите?



Овај чланак о Логгер-у на Јави је свеобухватан водич о Јава-овом АПИ-ју за евидентирање који се користи за евидентирање решења током креирања пројеката.

Евидентирање је важна карактеристика коју програмери морају узети у обзир да би пратили грешке. , који је један од најпопуларнијих програмских језика, долази са прилагодљивим приступом евидентирању пружањем основног АПИ-ја за евидентирање. Дакле, у овом чланку о Логгер-у на Јави, разговараћу о томе може да користи ову функцију да омогући прошириво евидентирање на Јави.

У овом чланку биће обрађене следеће теме:





    1. Потреба за евидентирањем
    2. Евидентирање компонената
    3. Шта је Логгер?
    4. Аппендер или Хандлерс
    5. Лаиоут или Форматтерс

Пре тога, дубоко заронимо у пријављивање у јави, схватимо потребу за пријављивањем.

Потреба за евидентирањем

Док правимо апликације, често се суочавамо са грешкама које морају бити отклоњене. Дакле, уз помоћ дневника лако можемо доћи до информација о томе шта се дешава у апликацији уз евиденцију грешака и необичних околности. Сада ће вам можда пасти на памет да зашто не бисте користили изјаву Систем.оут.принт () у . Па, проблем ових изјава је што ће се поруке дневника штампати само на конзоли. Дакле, након што аутоматски затворите конзолу, сви дневници ће бити изгубљени. Због тога се евиденције неће трајно чувати, већ се приказују један по један, јер је то једнонитно окружење.



Да би се избегли такви проблеми, пријављивање на Јави је поједностављено уз помоћАПИ обезбеђен путемјава.утил.логгингпакет иорг.апацхе.лог4ј. *пакет.

Евидентирање компонената

Јава компоненте евидентирања помажу програмеру да креира дневнике, прослеђује их на одговарајуће одредиште и одржава одговарајући формат. Следе три компоненте:

  • Сјекачи - одговоран за снимање евиденција дневника и њихово прослеђивање одговарајућем жалиоцу.
  • Додаци или руковаоци - Они су одговорни за бележење догађаја евиденције до одредишта. Додаци форматирају догађаје уз помоћ Лаиоутс-а, пре слања излаза.
  • Распоред или формат - Одговорна за утврђивање изгледа података када се појаве у уносу у дневник.

Можете погледати доњу слику за рад све три компоненте:



Компоненте евидентирања - Логгер на Јави - Едурека

разлика између ектендс и имплементира у јави

Када апликација упути позив за евидентирање, компонента Логгер записује догађај у ЛогРецорд и прослеђује га одговарајућем Аппендеру. Затим је форматирао запис користећи Лаиоут према жељеном формату. Поред тога, можете користити и више филтера да бисте одредили које Додате треба користити за догађаје.

Хајде сада да разумемо шта је то дубински записник у Јави.

Шта је Логгер на Јави?

Евиденције евиденције у Јави су објекти који покрећу догађаје у евиденцији. Они се креирају и позивају у коду апликације, где генеришу догађаје евиденције пре него што их проследе следећој компоненти која је Аппендер. Можете да користите више дневника у једној класи да бисте одговорили на различите догађаје или да користите евиденције у хијерархији. Обично се именују помоћу хијерархијског простора имена одвојеног тачкама. Такође, сва имена дневника морају се заснивати на класи или називу пакета пријављене компоненте.

Поред овога, сваки записничар записује најближег постојећег претка у Трупци именски простор и уз њега је повезан „Ниво“. Па, разговараћу о Логгер-има у другом делу овог чланка, али пре тога, дозволићу вам да вам покажем како да направите Логгер на Јави.

Направите нови Логгер

Процес стварања новог Логгера у Јави је прилично једноставан. Морате да користитеЛоггер.гетЛоггер ()метода. ТхегетЛоггер () идентификује име дневника и узима стринг као параметар. Дакле, ако Логгер већ постоји, тај Логгер се враћа, у супротном се креира нови Логгер.

Синтакса:

статиц Логгер логгер = Логгер.гетЛоггер (СамплеЦласс.цласс.гетНаме ())

Овде је СамплеЦласс име класе за коју добијамо објекат Логгер.

Пример:

јавна класа Цустомер {привате статиц финал Логгер ЛОГГЕР = Логгер.гетЛоггер (Цустомер.цласс) јавна празнина гетЦустомерДетаилс () {}}

Сад кад сам вам рекао како да направите Логгер на Јави, погледајмо различите нивое доступне у евидентирању.

Евиденција нивоа

Нивои дневника користе се за категоризацију евиденција према њиховој тежини или утицају на стабилност апликације. Тхеорг.апацхе.лог4ј. *пакет ијава.утил.логгингоба омогућавају различите нивое евидентирања. Погледајмо сваког од њих једног по једног.

орг.апацхе.лог4ј. *пакет пружа следеће нивое у опадајућем редоследу:

  • ФАТАЛ
  • ГРЕШКА
  • УПОЗОРЕЊЕ
  • ИНФО
  • ДЕБУГ

јава.утил.логгингпакет пружа следеће нивое у опадајућем редоследу:

  • ТЕШКО (НАЈВИШИ НИВО)
  • УПОЗОРЕЊЕ
  • ИНФО
  • ЦОНФИГ
  • ФИНЕ
  • ФИНЕР
  • ФИНЕСТ (НАЈНИЖИ НИВО)

Поред овога, горњи пакет такође пружа два додатна нивоаСВЕиВАНкористи се за евидентирање свих порука, односно онемогућавање евидентирања.

Пример пријављивања у Јави помоћуорг.апацхе.лог4ј. *пакет:

импорт орг.апацхе.лог4ј.Логгер јавна класа Купац {статиц Логгер логгер = Логгер.гетЛоггер (Цустомер.цласс) публиц статиц воид маин (Стринг [] аргс) {логгер.еррор ('ЕРРОР') логгер.варн ('ВАРНИНГ' ) логгер.фатал ('ФАТАЛ') логгер.дебуг ('ДЕБУГ') логгер.инфо ('ИНФО') Систем.оут.принтлн ('Финал Оутпут')}}

Па ако је ваш излазроот логгер као ниво ВАРН у нашем лог4ј.пропертиес датотека, тада ће се исписати све поруке о грешкама са већим приоритетом од ВАРН:

Такође можете подесити ниво помоћу методе сетЛевел () изјава.утил.логгингпакет као доле:

логгер.сетЛевел (Левел.ВАРНИНГ)

Пример пријављивања у Јави помоћујава.утил.логгингпакет:

пакет едурека импорт јава.ио.ИОЕкцептион импорт јава.утил.логгинг.Левел импорт јава.утил.логгинг.Логгер импорт јава.утил.логгинг. * цласс ЕдурекаЛоггер {привате финал статиц Логгер ЛОГГЕР = Логгер.гетЛоггер (Логгер.ГЛОБАЛ_ЛОГГЕР_НАМЕ) публиц воид самплеЛог () {ЛОГГЕР.лог (Левел.ВАРНИНГ, 'Добро дошли у Едурека!')}} купац јавне класе {публиц статиц воид маин (Стринг [] аргс) {ЕдурекаЛоггер обј = нев ЕдурекаЛоггер () обј.самплеЛог () ЛогМанагер слг = ЛогМанагер.гетЛогМанагер () Логгер лог = слг.гетЛоггер (Логгер.ГЛОБАЛ_ЛОГГЕР_НАМЕ) лог.лог (Левел.ВАРНИНГ, 'Здраво! Добродошли из Едуреке')}}

Да бисте омогућили пријављивање у своју апликацију помоћуорг.апацхе.лог4ј. *пакет илијава.утил.логгингпакет, морате конфигурисати датотеку својстава. Следеће у овом чланку о Логгер-у на Јави, разговарајмо о датотеци својстава оба.

Датотека својстава пакета Лог4ј и Јава Утил

Пример датотеке Лог4ј својстава:

# Омогући опцију матичног дневника лог4ј.роотЛоггер = ИНФО, датотека, стдоут # Приложите додатке за штампање датотеке лог4ј.аппендер.филе = орг.апацхе.лог4ј.РоллингФилеАппендер лог4ј.аппендер.филе.Филе = Е: логлоггинг.лог лог4ј.аппендер. филе.МакФилеСизе = 10МБ лог4ј.аппендер.филе.МакБацкупИндек = 5 лог4ј.аппендер.филе.лаиоут = орг.апацхе.лог4ј.ПаттернЛаиоут лог4ј.аппендер.филе.лаиоут.ЦонверсионПаттерн =% д {ииии-ММ-дд ХХ : сс}% -5п% ц {1}:% Л -% м% н # Приложите додатке за штампање на конзоли лог4ј.аппендер.стдоут = орг.апацхе.лог4ј.ЦонсолеАппендер лог4ј.аппендер.стдоут.Таргет = Систем.оут лог4ј.аппендер.стдоут.лаиоут = орг.апацхе.лог4ј.ПаттернЛаиоут лог4ј.аппендер.стдоут.лаиоут.ЦонверсионПаттерн =% д {ииии-ММ-дд ХХ: мм: сс}% -5п% ц {1}:% Л -% м% н
  • Датотека својстава Лог4ј креира се у директоријуму срц пројекта.
  • лог4ј.аппендер.филе = орг.апацхе.лог4ј.РоллингФилеАппендер -> Штампа све дневнике у датотеци
  • лог4ј.аппендер.стдоут = орг.апацхе.лог4ј.ЦонсолеАппендер -> Штампа све дневнике у конзоли
  • лог4ј.аппендер.филе.Филе = Д: логлоггинг.лог -> Одређује локацију датотеке дневника
  • лог4ј.аппендер.филе.МакФилеСизе = 10 МБ -> Максимална величина датотеке дневника до 10 МБ
  • лог4ј.аппендер.филе.МакБацкупИндек = 5 -> Ограничава број сигурносних копија датотека на 5
  • лог4ј.аппендер.филе.лаиоут = орг.апацхе.лог4ј.ПаттернЛаиоут -> Одређује образац у којем ће се дневници штампати у датотеку дневника.
  • лог4ј.аппендер.филе.лаиоут.ЦонверсионПаттерн =% д {ииии-ММ-дд ХХ: мм: сс}% -5п% ц {1}:% Л -% м% н -> Поставља задати образац конверзије.

Узорак Датотека својстава пакета Јава Утил

хандлерс = јава.утил.логгинг.ЦонсолеХандлер .левел = УПОЗОРЕЊЕ # Излаз ће бити ускладиштен у подразумеваном директоријуму јава.утил.логгинг.ФилеХандлер.паттерн =% х / јава% у.лог јава.утил.логгинг.ФилеХандлер.лимит = 60000 јава.утил.логгинг.ФилеХандлер.цоунт = 1 јава.утил.логгинг.ФилеХандлер.форматтер = јава.утил.логгинг.КСМЛФорматтер # Ниво евиденција биће ограничен на УПОЗОРЕЊЕ и више. јава.утил.логгинг.ЦонсолеХандлер.левел = УПОЗОРЕЊЕ јава.утил.логгинг.ЦонсолеХандлер.форматтер = јава.утил.логгинг.СимплеФорматтер

Ево,

  • јава.утил.логгинг.ФилеХандлер.паттерн =% х / јава% у.лог -> Датотеке дневника би биле записане уЦ: ТЕМПјава1.лог
  • јава.утил.логгинг.ФилеХандлер.лимит = 50000 ->Максимална количина коју записник записује у било коју датотеку у бајтовима.
  • јава.утил.логгинг.ФилеХандлер.цоунт = 1 -> Одређује број излазних датотека
  • јава.утил.логгинг.ФилеХандлер.форматтер = јава.утил.логгинг.КСМЛФорматтер -> Помиње форматтер који се користи за форматирање. Овде се користи КСМЛ Форматтер.
  • јава.утил.логгинг.ЦонсолеХандлер.левел = УПОЗОРЕЊЕ -> Поставља задати ниво евиденције на УПОЗОРЕЊЕ
  • јава.утил.логгинг.ЦонсолеХандлер.форматтер = јава.утил.логгинг.СимплеФорматтер ->ОдређујеФорматтерда га сви користеЦонсолеХандлер‘С. Овде се користи СимплеФорматтер.

Евидентирање догађаја

Да бисте пријавили догађаје , морате бити сигурни да сте одредили ниво за лако попуњавање догађаја. Да бисте доделили ниво и поменули поруку, можете користити следеће методе:

Метод 1:

логгер.лог (Левел.ИНФО, „Прикажи поруку“)
Овде је ниво ИНФО, а порука која се штампа је „Прикажи поруку“.

Метод 2:

логгер.инфо („Прикажи поруку“)

Да бисте били сигурни да Логгер на Јави бележи само догађаје који су на или изнад нивоа ИНФО, можете користити сетЛевел () метода разматрана горе.

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

Аппендер или Хандлерс

Напакач или управљачи одговорни су за бележење догађаја у евиденцији до одредишта. Сваки записник има приступ више обрађивача и прима поруку дневника од евиденције. Затим, Додаци користе Форматтере или Лаиоутс за форматирање догађаја и слање на одговарајуће одредиште.

Апндер се може искључити методом сетЛевел (Левел.ОФФ). Два најстандарднија руковаоца ујава.утил.логгингпакет су следећи:

  • ФилеХандлер: Напишите поруку дневника у датотеку
  • ЦонсолеХандлер: Записује поруку дневника на конзолу

Јер, за ваше боље разумевање, објаснио сам неколико додатака у одељку својстава.

Лаиоут или Форматтерс

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

  1. СимплеФорматтер : Генерише текстуалне поруке са основним информацијама.
  2. КСМЛФорматтер : Генерише КСМЛ поруку за дневник

За ваше боље разумевање, објаснио сам неколико распореда у одељку својстава.Овим смо дошли до краја овог блога на тему „Логгер ин Јава“. Надам се да сте јасни са оним што сте научили у овом чланку.

Погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250 000 задовољних ученика раширених широм света. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА дизајниран је за студенте и професионалце који желе да буду Јава програмер. Курс је дизајниран да вам пружи почетну предност у Јава програмирању и обучи вас како за основне тако и за напредне Јава концепте, заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га помените у одељку за коментаре овог блога „Логгер ин Јава“ и јавићемо вам се што је пре могуће.

питхон __инит__ метода