FHEM Forum

FHEM => Sonstiges => Thema gestartet von: betateilchen am 16 März 2024, 12:48:35

Titel: [fhem.pl] patch: Debug-Ausgabe um stacktrace erweitern
Beitrag von: betateilchen am 16 März 2024, 12:48:35
Hallo Rudi,

manchmal bauen Entwickler während der Programmierung testweise Debug Ausgaben in ihre Module ein und vergessen, diese Ausgaben vor dem Einchecken wieder zu entfernen. Da man nicht immer aus der Ausgabe (z.B. nur einer Uhrzeit) ableiten kann, woher die Ausgabe kommt, schlage ich vor, die Debug Ausgabe um ein stacktrace() (in Abhängigkeit des globalen Attributes) zu erweitern. Damit bekommt man zumindest einen Anhaltspunkt, woher der Aufruf stammt.

Index: fhem.pl
===================================================================
--- fhem.pl     (revision 28664)
+++ fhem.pl     (working copy)
@@ -5569,6 +5569,7 @@
 sub
 Debug($) {
   my $msg= shift;
+  stacktrace() if(AttrNum('global','stacktrace',0) == 1);
   Log 1, "DEBUG>" . $msg;
 }
Titel: Aw: [fhem.pl] patch: Debug-Ausgabe um stacktrace erweitern
Beitrag von: rudolfkoenig am 16 März 2024, 13:12:17
Habe dein Vorschlag eingecheckt.
Titel: Aw: [fhem.pl] patch: Debug-Ausgabe um stacktrace erweitern
Beitrag von: betateilchen am 16 März 2024, 14:01:12
Dankeschön!
Titel: Aw: [fhem.pl] patch: Debug-Ausgabe um stacktrace erweitern
Beitrag von: Sany am 01 April 2024, 10:46:39
Hi,

in gerade über diese Änderung "gestolpert". Ich nutze Debug gerne, um mir "vorübergehend"** Dinge im Log anzeigen zu lassen. Da ich stacktrace eigentlich immer eingeschaltet habe, um Fehler im Log schneller zu entdecken wunderte ich mich, warum ich auf einmal eine ganze Menge davon im Log habe.
Ich kann die Änderung verstehen, finde sie aber nicht gut. Wenn es nur darum geht, ein vergessenes Debug ein einem Modul evtl. leichter zu identifizieren: könnte man nicht die Debug-Ausgabe mit dem Devicenamen grundsätzlich erweitern? Quasi den Absender dazu?
Vermutlich nutze ich Debug aber auch einfach falsch und sollte auf Log umstellen. Ich fand Debug halt schneller getippt....


Gruß


Sany



** vorübergehend: nichts hält länger als ein Provisorium...
Titel: Aw: [fhem.pl] patch: Debug-Ausgabe um stacktrace erweitern
Beitrag von: betateilchen am 01 April 2024, 11:25:28
Zitat von: Sany am 01 April 2024, 10:46:39** vorübergehend: nichts hält länger als ein Provisorium...

Genau das ist das Problem und der Grund dafür, warum ich diesen patch vorgeschlagen hatte. Es denken und handeln einfach zu viele Leute bezüglich "Provisorium" genau so.

Zitat von: Sany am 01 April 2024, 10:46:39Vermutlich nutze ich Debug aber auch einfach falsch und sollte auf Log umstellen.
Ich fand Debug halt schneller getippt....

Debug("bla")

Log(1,"bla")
Titel: Aw: [fhem.pl] patch: Debug-Ausgabe um stacktrace erweitern
Beitrag von: Sany am 01 April 2024, 15:59:43
Alles gut, hab schon die meisten Stellen geändert. Das macht auch mehr Sinn.

ZitatCode Auswählen
Debug("bla")
Code Auswählen
Log(1,"bla")

ist aber schon ne wesentlich komplexere Syntax..... ;) ::)


Gruß


Sany