Hva er hierarkiet i log4j-loggingen?
DEBUG
INFO
WARN
ERROR
FATAL
Hvilken gir den høyeste loggingen som vil være nyttig for å feilsøke problemer? Kan noen oppgi rekkefølgen eller hierarkiet der logging skjer fra høyest til lavest? Takk for hjelpen!
Bruk force, les kilden (utdrag fra klassene Priority
og Level
kompilert, TRACE-nivå ble introdusert i versjon 1.2.12):
public final static int OFF_INT = Integer.MAX_VALUE;
public final static int FATAL_INT = 50000;
public final static int ERROR_INT = 40000;
public final static int WARN_INT = 30000;
public final static int INFO_INT = 20000;
public final static int DEBUG_INT = 10000;
public static final int TRACE_INT = 5000;
public final static int ALL_INT = Integer.MIN_VALUE;
eller log4j API for Level
-klassen, som gjør det ganske tydelig.
Når biblioteket bestemmer seg for om det skal skrive ut en bestemt setning eller ikke, beregner det det effektive nivået til det ansvarlige Logger
-objektet (basert på konfigurasjonen) og sammenligner det med nivået til LogEvent
(avhenger av hvilken metode som ble brukt i koden – trace/debug/.../fatal). Hvis LogEvent
's nivå er større eller lik Logger
's nivå, sendes LogEvent
til appender(s) – "printed". I bunn og grunn koker det hele ned til en heltallssammenligning, og det er her disse konstantene kommer inn i bildet.
[Hentet fra http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html]
DEBUG er det laveste begrensede Java-loggingsnivået, og vi bør skrive alt vi trenger for å feilsøke et program. Denne Java-loggingsmodusen bør bare brukes i utviklings- og testmiljøer og må ikke brukes i produksjonsmiljøer.
INFO er mer begrenset enn DEBUG Java-loggingsnivå, og vi bør logge meldinger som er informative, for eksempel at serveren er startet, innkommende meldinger, utgående meldinger osv. i INFO-loggingsnivå i Java.
WARN er mer begrenset enn INFO-loggingsnivået i Java og brukes til å logge advarselsmeldinger, f.eks. tapt forbindelse mellom klient og server. Databasetilkobling tapt, Socket når sin grense. Disse meldingene og java-loggingsnivået er nesten viktige fordi du kan sette opp et varsel på disse loggmeldingene i java og la supportteamet overvåke tilstanden til java-applikasjonen din og reagere på disse advarslene. Oppsummert brukes WARN-nivået til å logge advarselsmeldinger for logging i Java.
ERROR er et mer begrenset Java-loggingsnivå enn WARN og brukes til å logge feil og unntak, og du kan også sette opp et varsel på dette Java-loggingsnivået og varsle overvåkingsteamet om å reagere på disse meldingene. ERROR er et alvorlig loggingsnivå i Java og bør alltid skrives ut.
FATAL Java-loggingsnivå angir svært alvorlige feilhendelser som antagelig vil føre til at applikasjonen avbrytes. Etter dette krasjer og stopper applikasjonen.
OFF java logging level har høyest mulig rang og er beregnet på å slå av logging i Java.