CodeGym/Java kursus/Modul 3/Indstilling af logningsniveauer

Indstilling af logningsniveauer

Ledig

4.1 Liste over logningsniveauer

Du skrev dit program, uploadede det til serveren, og så begynder du straks at have spørgsmål:

  • Hvordan sikrer man sig, at debug()metoden ikke virker, mens man arbejder i production?
  • Der er for meget information i loggene, vil du kun efterlade fejlmeddelelser?
  • Hvordan ser man en detaljeret log for en del af applikationen?

Naturligvis stod skaberne af logfilerne over for det samme for årtier siden. Jeg vil ikke fortælle dig, hvordan dette problem blev løst i C-sproget, men i Java-sproget blev det løst meget smukt.

Loggen filtrerer dataene, før de skriver oplysningerne til . Du kan meget hurtigt reducere/øge detaljerne i loggen ved at indstille logningsniveauet. Disse niveauer er beskrevet i tabellen nedenfor:

Niveau Bemærk
1 ALLE Log alle beskeder
2 SPOR Lille besked ved fejlretning
3 FEJLFINDE Beskeder vigtige til fejlretning
4 INFO Simple beskeder
5 ADVARE Skriv kun fatal, fejl og advarsel
6 FEJL Skriv kun fejl og fatale fejl
7 FATAL Skriv kun fatale fejl
8 AF Skriv ikke beskeder til loggen

Disse niveauer bruges ved filtrering af meddelelser. Hvis du indstiller logningsniveauet til WARN, vil alle beskeder, der er mindre vigtige end, WARNblive kasseret: TRACE, DEBUG, INFO. Hvis du indstiller filtreringsniveauet til FATAL, så endda ERROR.

Der er yderligere to sværhedsgrader, der bruges til filtrering - dette OFF(kasser alle meddelelser) og ALL- skriv alle meddelelser (kasser intet).

4.2 Eksempel på logopsætning

Lad os se på et simpelt eksempel på logopsætning. For at gøre dette skal vi bruge filen log4j.properties, som kan placeres i ressourcemappen. Lad os tilføje følgende indhold til det:

# Root logger option
log4j.rootLogger=WARN, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}

Her i den allerførste linje sætter vi logningsniveauet - WARN. Og det betyder, at meddelelser, der er skrevet til loggeren med status, DEBUGvil INFOblive ignoreret.

  • Angiv, hvilken type bilag vi vil bruge -ConsoleAppender
  • Angiv, hvor vi vil skrive loggen -System.out
  • Vi indstiller klassen, der skal styre optagelsesformatet -PatternLayout
  • Indstil optageformatet for alle beskeder - dato og klokkeslæt

4.3 Populære logningsfejl

Og endnu et vigtigt punkt - populære fejl i logningen. Der er ikke så mange muligheder for at gøre noget, men flere almindelige fejl kan identificeres:

  1. For meget logning . Du bør ikke logge hvert trin, hvilket teoretisk set kan være vigtigt. Der er en regel: logfiler kan ikke indlæse ydeevnen med mere end 10 % . Ellers vil der være præstationsproblemer.
  2. Logning af alle data i én fil . Dette vil medføre, at det bliver meget svært at læse/skrive til på et tidspunkt, for ikke at nævne, at der er grænser for filstørrelse på visse systemer.
  3. Bruger de forkerte logningsniveauer . Hvert niveau af logning har klare grænser, og de bør respekteres. Hvis grænsen er vag, kan I aftale, hvilket niveau der skal bruges.
Kommentarer
  • Populær
  • Ny
  • Gammel
Du skal være logget ind for at skrive en kommentar
Denne side har ingen kommentarer endnu