Java print stak spor til log | Logger klasse
For at udskrive en staksporing til log skal du deklarere logger og metode info(e.toString()) eller log(Level.INFO, e.toString()) . Logføring er processen med at skrive logmeddelelser under afviklingen af et program for at få fejl- og advarselsmeddelelser samt infomeddelelser.
java.util.logging
pakken giver logningsfunktionerne via Logger
klasse.
Generelt øverst i hver klasse , bør du have:
private final static Logger LOGGER = Logger.getLogger(MyClass.class.getName());
Nu kan du bare bruge forskellige faciliteter i Logger-klassen.
Der er mange eksempler og også forskellige typer logning. Tag et kig på java.util.logging-pakken.
Eksempelkode:Java-printstaksporing til log
Se nedenstående eksempel på undtagelseshåndtering og udskriv undtagelsesmeddelelsen i loggen.
import java.util.logging.Level; import java.util.logging.Logger; public class MyClass { private final static Logger LOGGER = Logger.getLogger(MyClass.class.getName()); public static void main(String[] args) { try { int a[] = new int[10]; a[11] = 30 / 0; } catch (Exception e) { LOGGER.log(Level.INFO,e.toString()); //OR (both works same) LOGGER.info(e.toString()); } System.out.println("Remain codes"); } }
Output:
Logger logmetodeniveauer:-
Logniveauerne definerer en meddelelses alvor. Level
klasse bruges til at definere hvilke beskeder der skal skrives til loggen.
Følgende lister logniveauerne i faldende rækkefølge:
- ALVÆR (højest)
- ADVARSEL
- INFO
- CONFIG
- GODT
- FINERE
- FINEST
Ud over det kan du også bruge niveauerne OFF
og ALL
for at slå logningen fra eller for at logge alt.
Skriv en kommentar, hvis du er i tvivl og forslag til denne øvelse.
Bemærk: Dette eksempel (Projekt) er udviklet i IntelliJ IDEA 2018.2.6 (Community Edition)
JRE:11.0.1
JVM:OpenJDK 64-Bit Server VM af JetBrains s.r.o
macOS 10.14.1
Java version 11
Alle Java-printstak spores til log-koder er i Java 11, så det kan ændre sig på anderledes end Java 9 eller 10 eller opgraderede versioner.