Debug Handling

AquaBall

Top Contributor
Mal eine Frage wie ihr allgemein mit der Thematik umgeht:

In der Entwicklungsphase eines Programmes bau ich natürlich ettliche println's ein, bis es einigermaßen funktioniert.
Mit der Zeit laufen aber viele Teile korrekt, und wird das Log unübersichtlich.

Jetzt würde ich gerne den Code "bereinigen", aber:
  • Nun will ich aber nicht alle LogZeilen löschen. Vielleicht brauch ich sie später doch noch.
  • Jede Zeile mit 'if (Konstanten.DEBUG_TRUE)' klammern ist aufwändig, und belastet die Runtime-CPU.
  • So was wie in C++ '#define DebugLevel' scheint's in Java nicht zu geben.
In meiner Fantasie könnte das ein EclipsePlugin sein, das deaktivieren Debugcode sogar optisch ausblendet oder wenigstens 'collapst'.

Hab ihr ein brauchbares Konzept dafür?
Wie geht ihr damit um?
 

ARadauer

Top Contributor
einen normalen logger verwenden... wie log4j und an den jewelen stellen die entsprechende stufe wählen... und ja nach entwicklungsfortschritt dann mal bei der log ausgabe von DEBUG auf INFO gehen...
 
G

Gast2

Gast
Es gibt logging Frameworks. Java hat bspw. schon eines integriert, daneben gibts dann z.b. noch commons logging von apache oder was ich gerne nutze: slf4j zusammene mit logback.

In deinem Code schreibst du dann sachen wie:
Java:
log.error("Böse Fehler!!");
oder
Java:
log.debug("Schau mal hier: " + variable);
Über eine Konfigurationsdatei kannst du dann einiges konfigurieren:
- Wohin soll geloggt werden: Konsole, Datei, Datenbank, externer Server, Email?
- Was soll geloggt werden: Im Produktivbetrieb meist nur ERROR und aufwärts, in der Entwicklung dann eher DEBUG und aufwärts
- Formatierung
- etc. ...

Nen EclipsePlugin um solche loggings auszublenden kenn ich nicht, finde ich auch nicht sinnvoll.
 

AquaBall

Top Contributor
Danke für die Antworten.

Aber im Endeffekt heißt das doch, dass logging normaler ProgrammCode ist.
Das bedeutet,
  • dass es immer abgearbeitet wird.
  • langsamer wird,
  • das Jar-file größer ist,
  • ...

Ich hab nicht einmal die Möglichkeit, nach Fertigstellung sowas wie einen 'Cleaner' drüberlaufenzulasen, der alles bereinigt.

Irgendwie befriedigt mich das nicht.

Man könnte ja wie eine transparente Klammerung machen, die dann rausgefiltert wird.
Java:
  /*<debug> folgende Zeilen werden dann rausgelöscht*/ 
    loggerbefehl(); 
  /*</debug>*/
 
J

JohannisderKaeufer

Gast
Ein Logger finde ich schonmal meilenweit besser als println();

Eine andere Aspekt, der mir hierzu einfällt wären Aspect's von AOP, AspectJ.

Damit kannst du beispielsweise während der Entwicklung code vor bestimmten Methodenaufrufen ausführen lassen, der z.B. Den Aufruf und die verwendeten Parameter loggt.

Dein eigentliches Programm bleibt damit frei von "bloat", der in Aspekte ausgelagert wird.

Noch nie selbst verwendet, aber ein damaliger Arbeitgeber hat das genutzt und damit ein paar coole Sachen angestellt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I strip-debug - debug-Infos aus mitgelieferter Lib entfernen Allgemeine Java-Themen 3
G assertion für Debug-Ausgaben Allgemeine Java-Themen 6
DamienX Debug Modus zur Laufzeit erkennen Allgemeine Java-Themen 3
J Unterschied zwischen "Debug" und "Run" Allgemeine Java-Themen 16
J Jena debug meldung Allgemeine Java-Themen 6
J Unterschiede zwischen normaler und Debug Ausfuehrung? Allgemeine Java-Themen 2
B JBUILDER Run As INSERT INO funktioniert nicht bei DEBUG scho Allgemeine Java-Themen 3
T Exception handling Allgemeine Java-Themen 7
M Best Practice Alternativen für Event-Handling Allgemeine Java-Themen 3
F None-GUI-Event Handling Allgemeine Java-Themen 3
M Best Practices Exception Handling für eigene library Allgemeine Java-Themen 8
nrg Stilistisch korrektes Exception Handling Allgemeine Java-Themen 4
Y Exception Handling - Controller-Businesslogik-Persitenz Allgemeine Java-Themen 7
M Datei Handling mit Datum Allgemeine Java-Themen 2
G Exception handling - b.practices/tipps. etc. Allgemeine Java-Themen 3
P Event-Handling mit JSP Allgemeine Java-Themen 7
V Brauche dringend Hilfe. Object-handling Allgemeine Java-Themen 4
G codepage-handling in SUN JDK 1.5. Allgemeine Java-Themen 2
C Anfaenger Problem mit Action Handling. Allgemeine Java-Themen 2
G EHM EVENT handling ? Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben