Error Logging - best practices?

Fafner

Mitglied
Hallo zusammen,

ich schreibe aktuell an einem Importer für mein aktuelles Projekt und bin dabei, hierfür das Errorhandling zu implementieren. Hierfür möchte ich die Errors loggen und nach dem Import ggf. anzeigen - gesplittet in Warnungen und Fehler. Für die potentiellen Fehler möchte ich zusätzlich Errorcodes definieren, die eben mit angezeigt werden sollen.

Die Frage nun: was verwende ich hierfür am besten? Verwendet man für einen solchen Anwendungszweck üblicherweise Logger oder verwendet ihr hierfür andere Wege?

Falls Logger hierfür zielführend sind hab ich schonmal die Logger der Java API und Log4J ins Auge gefasst. Bietet Log4J ggü. der Standardimplementierung merkliche Vorteile oder ist er - wie ich ein paar mal gelesen habe - einfach verbreiteter, weil es Log4J noch vor dem API Logger gab? Und gibt es Logger denen ich ein Objekt bestehend aus Message UND einem gesonderten Errorcode als LogRecord übergeben kann (die beiden bieten "nur" eine String-Message neben den Standardsachen wie in welcher Klasse oder welche Exception)

Vielen Dank für eure Meinung schonmal :)
 

Natac

Bekanntes Mitglied
Wenn du nur einen Import durchführen und die Fehler danach anzeigen möchtest, halte ich ein ganzes Logging-Framework für oversized.

Ich denke ich würde das möglichst schlank halten. Bau die ein enum das alle Error-Codes enthält. Dann eine Klasse, die einen Error-Code, eine Exception und meinetwegen noch ein boolean-flag entgegennimmt, dass sagt ob es Warnung oder Error ist (wenn das nicht eh über den Error-Code definiert ist).

Erzeuge bei jedem Fehler eine entsprechende Instanz dieser Klasse und packe sie in eine Liste (oder in zwei Listen, wenn du Fehler und Warnung hier schon trennen möchtest). Diese Liste dann nach dem Import entsprechend anzeigen.

Kann sein, dass ich deine Frage nicht richtig verstanden habe. In diesem Fall bitte nochmal genau beschreiben, was du eigentlich machen möchtest.
 

turtle

Top Contributor
nach dem Import ggf. anzeigen - gesplittet in Warnungen und Fehler
Da würde ich zwei Dinge tun.

Erstens loggen mit einem Framework deiner Wahl, ich empfehle log4j2

Zweitens, stimme ich Natac zu, würde ich eine GUI-Komponente basteln, die eine Liste von Import-Meldungen anzeigen kann. Diese hat wenig mit dem oben angegebenen Logging zu tun, weil halt der Client diese Meldungen angezeigt bekommt, während das Logging für Fehlersuche und Support wichtig ist. Wie du das löst, ist abhängig mit welcher GUI-Technologie du unterwegs bist.

Logischerweise sollte der Code sowohl Loggen (Punkt#1) als auch die Liste für die GUI füllen.
 

Joose

Top Contributor
Wie Natac schon sagte, ist ein Logging-Framework für dein Vorhaben nicht wirklich geeignet.

Man muss etwas unterscheiden zwischen Logging um den Programmablauf nach zu vollziehen und Fehlerlogging um diese grafisch Darzustellen.

Das Logging-Framework kannst du verwenden um den Ablauf deines Programmes etc zu verfolgen und natürlich um Fehler auszugeben.

-> das Log-file ist für den Entwickler hilfreich um einen Fehler nachzustellen bzw. nachzuvollziehen

Für eine grafische Anzeige mit Filter Features etc und eigenen ErrorCodes wirst du aber eigene Klasse schreiben müssen, welche neben einen normalen Logging Framework genutzt, werden sollt.

-> grafische Fehler sind für den User eines Programmes hilfreich, damit dieser weis was er falsch gemacht hat etc. (mögliche Lösungen dann in den FAQs zB)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G IOException error 2 Allgemeine Java-Themen 3
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
Mick P. F. Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg? Allgemeine Java-Themen 11
S An internal error occurred during: Launching null argument Allgemeine Java-Themen 1
S Gradle "schluckt" output und error Allgemeine Java-Themen 1
Bluedaishi Access violation error Allgemeine Java-Themen 2
M Jdeps-Error durch multi-release Allgemeine Java-Themen 6
Xge For/Array Error: IndexOutOfBounds Allgemeine Java-Themen 4
S CMD Compiler Error Allgemeine Java-Themen 13
L Compiler-Fehler Eclipse Error: A JNI error has occured Allgemeine Java-Themen 3
T Eclipse IDE Plugin Error Log Allgemeine Java-Themen 0
Robat JNI - Fatal Error Allgemeine Java-Themen 5
S LinkedList Error Allgemeine Java-Themen 4
F String Error Allgemeine Java-Themen 7
K Error Allgemeine Java-Themen 2
G Error Meldung bei Gomoku Spiel Allgemeine Java-Themen 9
J LWJGL 3 Error Code 1282 Allgemeine Java-Themen 4
N Maven ObjectMapper Error wenn das File gespeichert wird Allgemeine Java-Themen 0
D Datentypen Cache Images Heap Space Error Allgemeine Java-Themen 7
D Java Error String kann nicht in Int umgewandelt werden Allgemeine Java-Themen 2
L Exception/Error auf JDialog umleiten Allgemeine Java-Themen 2
G Java Error (Exception_acces_violation) Allgemeine Java-Themen 2
G Java Error (Exception_acces_violation) Allgemeine Java-Themen 0
Thallius Simple JSON Parser Error null Allgemeine Java-Themen 6
F Compiler-Fehler Hilfe bei Startup error Allgemeine Java-Themen 3
M List casting error Allgemeine Java-Themen 3
F Java Error, bei Installation, Start und dem Control Panal Allgemeine Java-Themen 8
A ausführbare jar Error Allgemeine Java-Themen 2
P JDK installieren Error: Could not find or load main class HelloWorld.java Allgemeine Java-Themen 3
D Java error Allgemeine Java-Themen 2
J JVM Launcher Error Allgemeine Java-Themen 30
Jats Programm mit CMD Befehl hängt sich auf oder gibt error = 5 aus Allgemeine Java-Themen 4
I Java Ordner kopieren [Error] Allgemeine Java-Themen 6
G OutOfMemory Error bei Zahlenkonvertierungsprogramm Allgemeine Java-Themen 5
Jats ArrayList-Error Index: 1 Size:1 - Bitte um Hilfe Allgemeine Java-Themen 36
B Fatal error der JVM Allgemeine Java-Themen 9
N xml fatal error umgehen Allgemeine Java-Themen 14
M Webservice mit Axis2 und Eclipse - Error Allgemeine Java-Themen 2
S JNI - Fatal Error Allgemeine Java-Themen 2
D Java Heap error trotz anpassungen mit -xmx Allgemeine Java-Themen 4
R VM-Error - BadWindow (invalid Window parameter) Allgemeine Java-Themen 4
F Look And Feel Error Allgemeine Java-Themen 30
B Java OutOfMemory Error verhindern, Resourcenbedarf präventiv abschätzen? Allgemeine Java-Themen 19
X Error bei der Programmierung eines Sortieralgorithmus Allgemeine Java-Themen 2
B maven 2 error bei plugin download Allgemeine Java-Themen 7
hdi Heap Sapce Error bei sehr großem String Allgemeine Java-Themen 5
D Java Error / Fehler Allgemeine Java-Themen 2
A JNI unsatisfied linker error Allgemeine Java-Themen 2
R Syntax Error, der keiner sein sollte Allgemeine Java-Themen 12
S Error aus der Konsole auslesen Allgemeine Java-Themen 2
G Text aus Zwischenablage in JTextarea -> JDBC Error Allgemeine Java-Themen 3
A Synatx Error, wo gar keiner ist ? Allgemeine Java-Themen 2
T Syntax Error Allgemeine Java-Themen 9
B JMF Installations Error Allgemeine Java-Themen 2
O java StreamCorrupted Error beim Belegen einer JTextpane Allgemeine Java-Themen 5
R Speicherprobleme (OutOfMemory Error) Allgemeine Java-Themen 26
J Fatal Error Allgemeine Java-Themen 8
G Error: Hashtable Type safety: The method put(Object, Object) Allgemeine Java-Themen 6
J "Empty-String" Error Allgemeine Java-Themen 6
W Runtime Error216 Runtime error 217 Allgemeine Java-Themen 6
J Interpreteraufruf bring Error obwohl dies nicht sein dürfte. Allgemeine Java-Themen 24
G Error: java.lang.OutOfMemoryError: Java heap space Allgemeine Java-Themen 2
S Syntax Error, insert "AssignmentOperator Expression&amp Allgemeine Java-Themen 3
T Konsole "Fehlermeldung": error hereerror here Allgemeine Java-Themen 4
M typecast error Allgemeine Java-Themen 14
R Problemchen (unexpected error) Allgemeine Java-Themen 2
K error=2 (Datei nicht gefunden) - Datei ist aber da! Allgemeine Java-Themen 10
B unchecked cast Error Allgemeine Java-Themen 2
H java heap space (outofmemory error) Allgemeine Java-Themen 3
I Error: Unable to realize com.sun.media.amovie.AMController Allgemeine Java-Themen 3
M JButton verursacht einen HeapSpace Error? Allgemeine Java-Themen 6
B Syntax error on token ,VariableDeclaratorId expected after. Allgemeine Java-Themen 3
F Jar mit Abhängigkeiten ausführen -> NoClassDefFound Error Allgemeine Java-Themen 16
M strange error Allgemeine Java-Themen 3
S HTTPUnit Test Fehler: Error on HTTP request: 500 Internal Er Allgemeine Java-Themen 9
R .jar Executable - JVM Launcher: Fatal error Allgemeine Java-Themen 9
W Wie fange ich einen Error ab? Allgemeine Java-Themen 6
R Server Error 503 Allgemeine Java-Themen 4
D java.lang.error Allgemeine Java-Themen 2
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
X Logging Messages - mehr Details? Allgemeine Java-Themen 4
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

Ähnliche Java Themen

Neue Themen


Oben