Logging Messages - mehr Details?

xyss

Aktives Mitglied
Guten Abend.

Ich habe mir heute zum ersten Mal den Logger in Java angeschaut, und das Ganze auch versucht einzubauen.

Der Log wird (mit einem eigenen Formatter) in eine Datei geschrieben.
Ich habe unter anderem bei try-catch Blöcken den Logger mit eingebaut:

Java:
      try {
//...
            }
		      } catch (Exception e) {
		    	  logger.severe(e.getMessage());
		    	  e.printStackTrace();
		      }

Ich habe mich noch nicht so wirklich mit den Messages die einem bei Fehlermeldungen "rausgeworfen" werden, befasst (ich wüsste ehrlich gesagt auch nicht, nach was ich genau suchen sollte), und leider hat Google auch nichts konkretes ergeben:

Mein Problem ist, dass mir das Ganze weniger "Informationen" liefert, als gewollt. So ist bei einer Null-Pointer Exception e.getMessage() einfach nur "null". Lieber wäre mir allerdings eine Ausgabe wie die auf der Konsole (java.lang.NullPointerException, at.... )
Vielleicht habt ihr ja eine Lösung dafür, oder den ein oder anderen Link, wo ich mich reinlesen kann ;)

Liebe Grüße
 

JavaMeister

Gesperrter Benutzer
Ich kann nur raten, da ich nicht weiß, welches Logging Framework, falls überhaupt, verwendet wird.

Jedoch kann der Log4J Logger mit logger.servere("lalalala", e) auch den StackTrace ausgeben.
 

xyss

Aktives Mitglied
Sorry, das war wohl mein Fehler.

Ich benutze den von Java bereitgestellten Logger, da ich gehört habe, dass der Log4J Logger für die meisten Sachen zu Umfangreich wäre.
Gibt es bei diesem Logger also keine Möglichkeit, etwas derartiges hinzubekommen?
 

turtle

Top Contributor
Es gibt keine "grossen" Unterschiede zwischen den verschiedenen Logging-Frameworks.

Da log4j sich aber frühzeitig als gutes Framework etabliert hat, wird dieses SEHR häufig eingesetzt. Ich nehme daher dieses auch und bevorzuge derzeit Apache Log4j 2.

Aber natürlich kannst du java.util.logging nutzen und es ist möglich eine Exception auszugeben/loggen.:D

Ich habe mal ein kleines Beispiel gemacht:
Java:
import java.util.logging.Level;
import java.util.logging.Logger;

public class LoggingTurtle {
	private static final Logger log = Logger.getLogger(LoggingTurtle.class.getName());

	public static void main(String[] args) {
		new LoggingTurtle().doSomething();
	}

	private void doSomething() {
		log.log(Level.FINE, "Fine Aufruf");
		log.log(Level.INFO, "Rufe Funktion auf die Exception wirft.");
		try {
			throw new IllegalArgumentException("Falscher Wert");
		} catch (IllegalArgumentException e) {
			log.log(Level.SEVERE, "Fehler aufgetreten", e);
		}
	}
}

Wenn eine Exception auftritt, wird die Exception mit ihrem Stacktrace ins Log geschrieben. Die Ausgabe auf der Konsole sieht dann so aus:
Code:
Sep 13, 2014 12:39:33 PM LoggingTurtle doSomething
INFORMATION: Rufe Funktion auf die Exception wirft.
Sep 13, 2014 12:39:33 PM LoggingTurtle doSomething
SCHWERWIEGEND: Fehler aufgetreten
java.lang.IllegalArgumentException: Falscher Wert
	at LoggingTurtle.doSomething(LoggingTurtle.java:15)
	at LoggingTurtle.main(LoggingTurtle.java:9)
Wohin das Logging die Ausgaben schreibt, konfiguriert man üblicherweise in einer Datei (bei java.util.logging) ist es logging.properties. Wenn du da nichts angegeben hast, wird die von der JRE genommen. Dort steht drin, das handlers= java.util.logging.ConsoleHandler (also auf die Konsole) und .level= INFO so dass alle Log-Meldungen ab INFO ins Log kommen und niedriger nicht. Daher ist die fine-Meldung nicht im Log zu sehen.
 

xyss

Aktives Mitglied
Danke für dieses schöne und einfache Beispiel, das hilft mir weiter!
Schon allein der Name LoggingTurtle ist super.. :D


Ich denke damit hat sich das Thema hier erledigt, ich weiß ja nun was ich wissen wollte :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 Strukturiertes Logging : Jedes Feld in eine seperate Zeile - aber wie ? Allgemeine Java-Themen 2
T Logging mit org.apache.logging.log4j Allgemeine Java-Themen 1
MiMa Logging mit log4j2 in verschiedene Dateien? Allgemeine Java-Themen 22
S Input/Output Jave.utill.logging ohne Default-Locale also in Englisch Allgemeine Java-Themen 3
A Automatisches Methoden Laufzeiten logging? Allgemeine Java-Themen 7
M JVM: Client Software Logging und Profiling aktivieren Allgemeine Java-Themen 1
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
P Logging levels Allgemeine Java-Themen 2
F Error Logging - best practices? Allgemeine Java-Themen 3
L util.logging Log Rotation Allgemeine Java-Themen 3
W Java Logging Problem Allgemeine Java-Themen 3
H java.util.logging Formatter Optionen setzen Allgemeine Java-Themen 2
D Logging XMLFormatter Allgemeine Java-Themen 3
B OOP java.util.logging.Logger: Wie kann ich mehre Klassen in ein Logfile schreiben lassen? Allgemeine Java-Themen 12
D Technologiefragen, logging, JMX Allgemeine Java-Themen 3
S Tomcat java.util.logging - keine Logs Allgemeine Java-Themen 12
J Logging mehrerer Methoden Allgemeine Java-Themen 21
S log4j - doppeltes Logging Allgemeine Java-Themen 4
B Logging von Exceptions Allgemeine Java-Themen 7
S log4j Logging über mehrere Klassen Allgemeine Java-Themen 13
P SLF4J Logging Level einstellen Allgemeine Java-Themen 2
DamienX Google Guice AOP + Logging Allgemeine Java-Themen 3
T CP Problem: Webstart + Logging properties file + eigener Handler Allgemeine Java-Themen 7
A java logging api scheint nicht thread save zu sein Allgemeine Java-Themen 22
T Java Logging API in Multi Threaded API Allgemeine Java-Themen 2
P fehlende Mehrfachvererbung logging.Handler impl. Observable Allgemeine Java-Themen 5
M Verbieten Applets die Nutzung von Commons Logging? Allgemeine Java-Themen 7
F Java logging Allgemeine Java-Themen 4
F Java logging Leerzeile als Standardeinstellung Allgemeine Java-Themen 4
S Java logging konfigurieren? Allgemeine Java-Themen 5
DEvent log4j, commons logging, log4j.properties and co Allgemeine Java-Themen 12
J Logging Allgemeine Java-Themen 10
J Log4j / commons-logging Allgemeine Java-Themen 3
K Logging mit Log4j Allgemeine Java-Themen 2
G Logging Allgemeine Java-Themen 4
S Logging mit log4j Allgemeine Java-Themen 17
S Logging Allgemeine Java-Themen 9
M Rat gesucht: Logging (log4J oder java.util.logging oder .) Allgemeine Java-Themen 5
T Logging Allgemeine Java-Themen 12
T Transaction Logging Allgemeine Java-Themen 2
Rakshan No timestamps in log messages Allgemeine Java-Themen 2
ReinerCoder auskommentierte Messages werden trotzdem benutzt Allgemeine Java-Themen 53
OnDemand JMS Messages nicht abgeholt Allgemeine Java-Themen 0
N 1000 MQTT Messages die Sekunde - 1000 Threads erstellen ? Allgemeine Java-Themen 10
I "Neues" Lizenzmodell Oracle - JRE nicht mehr zur Redistribution freigegeben? Allgemeine Java-Themen 16
Blender3D Alte Beiträge nicht mehr vorhanden Allgemeine Java-Themen 6
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
G @PostConstruct Annotation nicht mehr gültig ? Allgemeine Java-Themen 7
T Projekt baut nicht mehr/lässt sich nicht mehr ausführen Allgemeine Java-Themen 6
A Best Practice Wie viele Referenzen machen Sinn? Weniger ist mehr? Allgemeine Java-Themen 1
X JNA funktioniert nicht mehr Allgemeine Java-Themen 4
G Eclipse Java findet MySQL Driver nach export nicht mehr Allgemeine Java-Themen 2
H IDEA IntelliJ Java Mail funktioniert nach Export nicht mehr! Allgemeine Java-Themen 1
T Plötzlich wird package nicht mehr gefunden Allgemeine Java-Themen 3
D kein Versand von Mails mit Anhang mehr Allgemeine Java-Themen 2
N jre1.8.0_161 mehr CPU Allgemeine Java-Themen 0
E GUI.jfm lässt sich nicht mehr öffnen Allgemeine Java-Themen 1
Joker4632 Klassen Buffered Reader liest die Leerzeichen am Zeilen Ende nicht mehr Allgemeine Java-Themen 2
M JDK installieren MD5 SHA-1 Signatur in JAR nicht mehr vertrauenswürdig Allgemeine Java-Themen 3
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
I nach Image Load in ListView, kann Ordner nicht mehr gelöscht werden Allgemeine Java-Themen 1
Thallius Bekomme keine Exception mit Stacktrace mehr. Was habe ich getan? Allgemeine Java-Themen 13
Tacofan Button nicht mehr anklickbar machen Allgemeine Java-Themen 8
H Alter Java-Programm läuft nicht mehr. Laut strace fehlt libpthread.so.0 Allgemeine Java-Themen 3
B Bild aus Jar kann nach Export nicht mehr gefunden werden Allgemeine Java-Themen 13
C file.delete() funktioniert bei zweiten aufruf nicht mehr Allgemeine Java-Themen 3
S Wenn mehr als die Hälfte Großgeschrieben ist. Allgemeine Java-Themen 2
D mouseWheelMoved => erst reagieren, wenn für 1s das Mausrad nicht mehr benutzt wurde Allgemeine Java-Themen 4
T Nach Java Update: Jar Datein öffnen sich nicht mehr mit doppelklick Allgemeine Java-Themen 3
Thallius Wie mache ich eine Java App mit Icon startbar die mehr Heap Speicher braucht? Allgemeine Java-Themen 3
M Eclipse Keine Ausgabe mehr bei Fehlern Allgemeine Java-Themen 3
F E-Mail aus JAVA senden nach Umstellung auf Netbean 7.4 mit Java 7U45 nicht mehr möglich Allgemeine Java-Themen 4
O Klassen Programm in Klassen unterteilt, werte werden nicht mehr übernommen Allgemeine Java-Themen 3
F Eclipse Eclipse kompiliert nicht mehr die aktuellen Dateien Allgemeine Java-Themen 2
F Nach Export wird PDF Datei nicht mehr gefunden Allgemeine Java-Themen 0
L iText PDF Form-Felder werden nach Bearbeitung mit iText nicht mehr richtig erkannt. Allgemeine Java-Themen 2
W Regulärer Ausdruck für 0 oder mehr Blanks Allgemeine Java-Themen 8
G .jar Dateien lassen sich nicht mehr öffnen Allgemeine Java-Themen 2
B JFreeChart -> TimeSeries-Plot -> mehr y-Achsen Allgemeine Java-Themen 2
GUI-Programmer Mehr als Properties Allgemeine Java-Themen 6
E Anwendung nutzt plötzlich nicht mehr 100% CPU Allgemeine Java-Themen 2
J Java programm lässt sich in win7 nach linux install nicht mehr ausführen Allgemeine Java-Themen 18
C Zugriff auf private Methode per reflection geht nicht mehr Allgemeine Java-Themen 3
M Java funktioniert nicht mehr Allgemeine Java-Themen 21
J Eclipse Elipse gibt mir keine Vorschläge mehr :( Allgemeine Java-Themen 6
N Java geht nicht mehr zu löschen Allgemeine Java-Themen 5
B Berechnung eines sinh abbrechen, wenn 16. Nachkommastelle sich nicht mehr ändert Allgemeine Java-Themen 7
J Java Pfad nicht mehr in Path Variablen??? Allgemeine Java-Themen 2
P Java Anwendung mehr Speicher zur Verfügung stellen?? Allgemeine Java-Themen 3
W 2D-Grafik nach getthumbnail läst sich Quellbild nicht mehr löschen Allgemeine Java-Themen 3
R DocumentListener: Programm Reagiert nicht mehr Allgemeine Java-Themen 2
V "Java(TM) Platform SE binary funktioniert nicht mehr" Allgemeine Java-Themen 5
C Hilfe! Mein Java mag nich mehr ganz... Allgemeine Java-Themen 11
5 Javaw funktioniert nicht mehr Allgemeine Java-Themen 5
Guybrush Threepwood iText de facto nicht mehr verwendbar Allgemeine Java-Themen 15
woezelmann Object nach Deserialisierung nicht mehr gleich Allgemeine Java-Themen 13
D binäres ODER oder mehr Konstanten? Allgemeine Java-Themen 10
Y Auszuführendem Projekt mehr Speicherplatz zuweisen Allgemeine Java-Themen 3
S Jar Datei mit mehr Speicher starten Allgemeine Java-Themen 2
S JAR Datei, mehr Speicher bereitstellen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben