Kawm Log4j – txiav API rau Java

Log4j

Log4j – Txiav API rau Java

Txheej txheem cej luam:

Tus logging API los yog cov tsev qiv ntawv tseem ceeb heev rau cov kev loj hlob ntawm kev siv hauv Java. Ua tau, log4j tsis muaj dab tsi tab sis tus API yog. Tias Ameslikas raws li tus Java programming lus, tab sis yog tus tau ported rau ntau lwm haiv lus programming, xws li C , Ruby, Eiffel, C, Nab hab sej thiab Perl. No, tab sis, peb mam li sib tham txog cov version rau Java.

Log4j yuav tau nram txij thaum kawg adaptable thiab ceev. Nws yog tam sim no uas muaj ntaub ntawv nyob rau hauv daim ntawv tso cai Apache Software. Tseem, tus neeg siv yuav customise thiab configure cov chaw uas muaj cov qib API ntawm configuration ntaub ntawv uas yuav siv thaum runtime. Qib API no muaj ntau hom kev mechanisms rau lub txawv destinations. Cov destinations muaj consoles, UNIX Syslog, ib database los yog ib daim ntawv. Tseem, nws prioritises kev logging cuam sai thiab ntau lub muaj dab logging. Siv log4j API yog ib qho yooj yim heev li feem ntau cov chaw ua hauj lwm yog ua los ntawm muab configuration ntawm log4j nyob rau hauv qhov chaws.


Me ntsis hauv av rov tom qab:

Log4j yog lub tsev qiv ntawv logging saj zawg zog heev rau txoj kev loj hlob ntawm daim ntaub ntawv rau Java programming lus. Nws muaj peb yam uas cov layouts, appenders thiab cov loggers. Tus layouts los mus hloov cov logging yam raws li nyias yeej formatting, Thaum appenders yog siv rau cov tsheb thauj mus los ntau qhov kev. Lub logger tseem ceeb heev rau cov ua tau tau thiab luam cov ntaub ntawv logging.

Log4j yog tsim thaum ntxov 1996. Nws twb tau tsim rau hauv luag hauv kiab khw rau cov teb chaws Europe (los yog E.U. SEMPER) peb tes num ua ib tracing API. Txawm li cas los, no yooj yim tracing API evolved mus rau lub tsev qiv ntawv tag logging thaum alterations ntau tas rau nws. Hnub no, no logging pob yog raug tso cai nyob rau hauv lub qhov qhib Apache Software License, Nws yog ib feem ntawm cov teg num qhib-tau qhov twg los. Rau qhov chaws, documentations thiab cov ntaub ntawv hauv chav kawm ntawv thiaj li yuav kis ntawm lawv lub website.

Yog vim li cas log4j tseem ceeb?

Txiav yog heev rau ntawm txoj kev loj hlob thiab xeem ib daim ntawv thov. Txhua daim ntawv thov yuav tsum muaj cov qib API zoo logging vim tias nws yog ib qho uas rau debugging, kuaj thiab troubleshooting tus tshiab. Log4j yog li muaj logging tag pob, ib qhov uas tau tso cai rau txoj kev loj hlob zoo thiab ceev ntaub ntawv. Nws yuav ua rau muaj ntau yam zog uas yog lwm pob zaub mov logging tsis pub.

Ib qho ntxiv uas uas ua rau log4j tseem ceeb heev yog tias cov chaw yuav muab configured yooj yim thaum runtime ntawm configuration lwm cov ntaub ntawv. Cov nam no yuav ua rau nws adaptable heev thiab cov neeg siv tau yooj yim nyom nws raws li nws xav tau kev pab.







Cov yam ntxwv yog dab tsi?

Muaj ntau ntau nta cov log4j uas teev nws tuaj ib thais thaum piv rau lwm pob zaub mov logging. Yog vim cov nta ntawd log4j tsis yog li ntawd, kom tau kev vam thiab pab tau.

Firstly, nws muaj kev ruaj ntseg ntawm threads. Tseem, Nws yog tsim rau neeg ceev txoj kev tau ua daim ntawv thov. Nws yuav siv ntau hom appenders rau ib logger, kev logging kev xav ntau dua lwm pob zaub mov logging. Ib nta yog li nram no:

  • Behaviour thaum logging yuav tsum predefined los ntawm cov ntaub ntawv configuration.
  • Nws yuav siv cov yam ntxwv ntawm internationalization.
  • Lub chaw teeb yuav tsum yooj yim txhab.
  • Lub hierarchy ntawm lub hnab no uas raug teev hais logger.
  • Lub Java ntxiv tsob thaum txoj kev loj hlob tau yuav tackled tau yooj yim.
  • Layout hoob kawm siv kev hloov lub hom ntawm tus tso zis ntau tus cav.
  • Nws ua ntau yam ntxiv thaum lub logging yuav utilise, Piv txwv, PAB NTXIV YOG, CEEB TOOM, TUAG, TAG NRHO, TEJ QHOV CIM TSEG, Kev ua yuam kev thiab DEBUG.
  • Tus appender yuav siv kev hloov lub hom lus logging.

Zoo thiab disadvantages

Peb yeej paub hais tias logging yog ib yam uas tseem ceeb tshaj thaum tab tom xyaum software. Yog li, ib lub pob zoo logging thiab ib daim ntawv nicely logging chaws no tseem ceeb heev heev rau txoj kev loj hlob hauv daim ntawv thov. Log4j yog ib tug zoo kawg nkaus logging tsev qiv ntawv tsocai rau ntau thiab xav thov kev los ceev debugging, zoo code saving thiab txuag kom paub meej txog software runtime.

Txawm li cas los, logging yog tsis zoo. Thaum nws ua kom cov kev mus los hauv daim ntawv thov, nws yuav ua tau slow down software xwb. Txawm li cas los, log4j yuav tau tsim lossi thiaj counter cov teeb meem.

Yog nws yooj yim heev rau siv, thiab kuj heev haib tib lub sijhawm.

Plahaum & configuration

Log4j pob los ua tus qhib tau qhov twg los yog ib qhov. Ces tag nro cov khawb hauv qhov chaws, lwm cov ntaub ntawv thiab cov chav kawm ntawv cov ntaub ntawv yuav tsum downloaded. Rau tus plahaum, tus (.zauv teb) los sis (.gz) cov ntaub ntawv kuj yuav downloaded nyias.

Tam sim no, ua raws li cov kauj ruam hauv qab no rau tus plahaum.

  • Extract cov ntsiab lus ntawm qhov (.zauv teb)/(.gz) cov ntaub ntawv nyob rau hauv ib directory, dua li hauv /user/local. Thaum extraction, nws yuav ua kom nws tus kheej hierarchy.
  • Log4j yuav tau xob maub lwm nta tseem ceeb xws li cov chaw nyob xa ntawv, lus sam pab, xml ntawv hom ntawv thiab lwm yam. Li ntawd, qhov yuav tsum tau tej pob khoom rau cov functionalities yeej tseem yuav ntsia. Tab sis qhov no yog nyob ntawm yeem.
  • Teem lub CLASSPATH thiab kev zog kom mus taw tes log4j rhawv zeb. Classpath coj mus kuaj thiab qhov kev muaj qhia nram qab.

[chaws]

/usr/local/apache-log4j-2.6.1

$ export CLASSPATH = $CLASSPATH:/usr/local/apache-log4j-2.6.1/apache-log4j-2.6.1.jar

$ export cum = $PATH:/usr/local/apache-log4j-2.6.1/

[/chaws]

Tom qab tus plahaum, configuration ntawm log4j.properties ntaub ntawv yog ib qho tseem ceeb ua hauj lwm kom tiav. Nws yog cov ntaub ntawv configuration, uas muaj ntaub ntawv ua yuam sij/tus nqi officers. Cov ntaub ntawv no yog yuav muab rau cov CLASSPATH. Nws muaj cag logger lus, appender paub meej thiab layout lus. Nram no yog ib daim ntawv coj mus kuaj log4j.properties.

[chaws]

# Qhov no yog maum logger xwm nrog appender X. Nws yuav ua tau ib cov ntaub ntawv appender

log4j.rootLogger = DEBUG, X

# Qhov no nws yog appender cov lus uas tau ua ntaub ntawv appender X

log4j.appender.X=org.apache.log4j.FileAppender

# Qhov no yog layout qhia rau appender X

log4j.appender.X.Layout=org.apache.log4j.PatternLayout

log4j.appender.X.Layout.conversionPattern=%m%n

[/chaws]

Tam sim no koj tus plahaum thiab configuration yog tag, thiab peb yuav mus ib qho piv txwv yuav siv lub moj khaum logging Java daim ntawv thov li cas.







Daim ntawv thov coj mus kuaj thaum uas siv cov log4j

Hauv qhov ua piv txwv peb yuav ua tau peb mus tso zis ntau tus paub tab. Peb nug ib los ntawm ib tug.

Thawj kauj ruam – Teeb ntaub ntawv log4j.properties

Qhov no yog qhov log4j zog cov ntaub ntawv nrog rau tej ntaub ntawv appender. Nws nyiaj thiab lub sij qhov ntaub ntawv npe, ntaub ntawv appender thiab daim phiaj layout.

Qhia 1: Qauv log4j zog cov ntaub ntawv

[chaws]

# Cag logger xwm nrog cov ntaub ntawv appender

cav = /usr/home/log4j

log4j.rootLogger = DEBUG, COV NTAUB NTAWV

# Cov ntaub ntawv appender xwm nrog log.out ua ntawv tso zis ntau lawm

log4j.appender.FILE=org.apache.log4j.FileAppender

log4j.appender.FILE.File=${cav}/log.out

# Defining layout xwm nrog cov tshiab ua cim kab

log4j.appender.FILE.Layout=org.apache.log4j.PatternLayout

log4j.appender.FILE.Layout.conversionPattern=%m%n

[/chaws]

Kauj ruam thib ob- Sau ntawv mus rau cov chaws Java thiab integrate log4j

Qhov no yog qhov ntawv Java rau luam ntawv cav lus. Ua ntej, nws assigns cov chav kawm ntawv lub npe nrog lub logger. Thiab, ces nws captures cav ntau theem qhia as per yuav tsum tau. Peb pom debug, pab ntxiv yog, ceeb toom thiab lus qhia yuam kev. Cov txheej txheem yuav tsum siv thaum muab lub sijhawm rau tus zoo mus txog qhovtwg.

Qhia 2: Daim ntawv thov Java coj mus kuaj mob log4j

ntshuam org.apache.log4j.Logger;

ntshuam org.apache.log4j.PropertyConfigurator;

ntshuam java.io.*;

ntshuam java.util.*;

tsev kawm log4jDemo{

/*Cob cov chav kawm ntawv lub npe rau lub logger */

zoo li qub cav Logger = Logger.getLogger(log4jDemo.class);

pej xeem tsis muaj dabtsis loj zoo li qub(Txoj hlua[] args)

{

/*Sau cav qib lus * /

log.debug(“Qhov no nws yog debug cav”);

log.info(“Qhov no yog pab ntxiv yog cav”);

log.warn(“Qhov no tseem ceeb toom cav”);

log.error(“Qhov no yog kev ua yuam kev cav”);

}

}

Kauj ruam thib peb – Compile thiab runt tus tshiab

Tam sim no, cov kauj ruam kawg yog compile thiab khiav ntaub ntawv rau Java. Thaum ua daim ntawv thov no tseg, nws yuav sau cov cav qib lus hauv ib daim ntawv muaj npe raws li log.out li nram qab no.

Qhov no nws yog debug cav

Qhov no yog pab ntxiv yog cav

Qhov no tseem ceeb toom cav

Qhov no yog kev ua yuam kev cav

Nyob hauv lub txoos scenario, cov ntaub ntawv rau cov zis yuav ntes cov cav cov ntaub ntawv soj ntxiv.







Xaus:

Txhua daim ntawv uas yog tau los ntawm tej hom lus programming xav tau ib tus zoo thiab kom tau kev vam logging pob. Nyob rau hauv Java, log4j aims yog tias lub tsev qiv ntawv logging. Log4j nyob Ameslikas no rau peb tes num SEMPER, raws li nws yog ib tug heev ces yog ib qhov uas yuav tsum tau ib tus zoo txiav API. Txawm li cas los, thaum lub sij hawm ya mus los, log4j los ua ib pob tag nrho ntawm txiav APIs. Tam sim no, Nws yog ib tug nyiam tuaj qiv logging rau Java. Nws yog tias nws muaj lawm ported mus ua hauj lwm nrog ntau yam lwm programming lus haib li. Tseem, nws qhov chaws no yuav qhib tau qhov twg los, ces nws yuav hloov mus raws li tus nyiam.


 

============================================= ============================================== Yuav zoo TechAlpine phau ntawv rau Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Txaus siab rau qhov blog? Tshaj tawm lus thov :)

Follow by Email
LinkedIn
LinkedIn
Share