NEWS
Debug-Optionen für JS/Blockly
-
Es gibt im JS-/Blockly-Editor oben rechts die Möglichkeit über den Schraubenschlüssel das Loglevel auf Debug zustellen:
War das schon immer so, daß das dann nur für dieses eine Skript gilt und auch speicherbar ist, so daß es nach einem Session-Ende und Neustart weiterhin genau für dieses Skript gilt?
Ich frage, weil ich der Meinung war, daß ich das mal ausprobiert hatte, als ich anfing mit Blockly und damals irgenwie zu dem Schluß gekommen bin, daß das dann immer alle Skripte betrifft und/oder wieder verloren geht, wenn man das Skript und/oder JS neu aufruft.
Um das Log nicht "zuzumüllen" und dennoch die Möglichkeit zu haben, bei Bedarf für ein Skript mal etwas genauer den Ablauf zu "protokollieren", hatte ich mir daraufhin angewöhnt, mit Hilfe einer Variablen und folgendem Konstrukt zu arbeiten:
Ich meine, daß ich dann später mal in einem Post von @homoran gelesen hatte, daß er es auch so oder so ähnlich gemacht hat.Das ist natürlich etwas aufwändiger und braucht "viel Bildschirmplatz" und wäre ja nicht (mehr) nötig, wenn der Debug-Level (nun zwischenzeitlich vielleicht durch ein Update?) Skript-scharf gespeichert werden kann - oder?
-
@andersmacher sagte in Debug-Optionen für JS/Blockly:
Das ist natürlich etwas aufwändiger und braucht "viel Bildschirmplatz" und wäre ja nicht (mehr) nötig, wenn der Debug-Level (nun zwischenzeitlich vielleicht durch ein Update?) Skript-scharf gespeichert werden kann - oder?
Momentan ist es wie bei anderen Instanzen auch: Loggst Du mit Debug-Loglevel, landet das im Log, wenn das Loglevel der Instanz passt. Das gilt dann natürlich für alle Scripts und nicht nur für ein einzelnes Script.
Ich habe schonmal überlegt, für den Debug-Baustein einen Verbose-Haken hinzuzufügen, sodass diese Meldung nur geschrieben wird, wenn verbose (= ausführliche Protokollausgaben) auf dem Script aktiv ist.
-
@haus-automatisierung Danke für die Erläuterung!
Vielleicht habe ich mich ja auch selber verwirrt, aber den grünen Käfer gab es doch noch nicht immer - oder?
Momentan kann ich nicht mehr nachvollziehen, was genau der Haken bei Debuggen bewirkt:
Wenn die JS-Instanz auf debug-"Info" steht, erzeugt folgendes Blockly genau dann eine debug-Ausgabe, wenn im debug-Block auch "Info" steht. Steht da "debug" kommt keine debug-Ausgabe. Das ist unabhängig davon, ob man im Skript den grünen Käfer anhakt oder nicht:
Bisher hatte ich es so verstanden (und das hat bisher auch immer gepaßt), daß die debug-Level nicht "ausschließlich", sondern "hierarchisch" sind. Also wenn ich z. B: "Info" einstelle, kommt nicht nur eine Info-debug-Meldung, sondern natürlich auch Warning und Error. Daher hätte ich erwartet, daß bei Einstellung "Debuggen" dann Info, Warning und Error geloggt wird!? -
@andersmacher sagte: was genau der Haken bei Debuggen bewirkt:
Der Haken bewirkt, dass keine Schreibkommandos ("aktualisiere", "steuere") ausgeführt werden, sondern dass stattdessen ein Ersatz-Log erscheint. Es hat nichts mit dem Debug-Block zu tun.
-
@andersmacher sagte in Debug-Optionen für JS/Blockly:
Daher hätte ich erwartet, daß bei Einstellung "Debuggen" dann Info, Warning und Error geloggt wird!?
Der Haken "Debuggen" hat aber absolut nichts mit dem Loglevel zu tun. Das wird (wie bei jedem anderen Adapter) auf der Instanz festgelegt. Und dann stimmt auch Deine Aussage. Stellst Du das Loglevel dort auf
info
, wird auchwarning
underror
geloggt. Das gilt aber wie gesagt immer global für alle Scripts.Daher die Idee mit dem Verbose-Haken.
-
@paul53 und @haus-automatisierung Entschuldigung, daß ich mich jetzt erst wieder melde, war ein paar Tage "verhindert".
Danke für Eure Erklärungen. Erst dadurch habe ich das mit dem Debug-Haken jetzt hoffentlich verstanden. Hatte das bisher immer mit dem Log-Level in Verbindung gebracht.
Dann bleibe ich also bei meinem "aufwändigen Debug-Konstrukt" mit der Variable "Debug_Info" aus meinem Eingangs-Post, bis es wielleicht irgendwann den Verbose-Haken gibt. -
@andersmacher Schau mal die letzten Änderungen in der Beta unter Systemvariablen in diesem Post:
https://forum.iobroker.net/topic/74606/javascript-8-3-0-log-trigger-file-events-und-warnungen
-
@haus-automatisierung "Schlauerweise" habe ich von hinten angefangen zu suchen, dann aber im Eingangspost Deines Links wohl gefunden, was Du meinst:
Du hast das also offenbar nicht mit Häcken gelöst, aber offenbar dennoch schon eine Lösung bereitgestellt. Super!
Dein Beispiel-Konstrukt ist einfacher, als das, was ich bisher benutzt habe.
Dann muß ich mal zusehen, daß ich mir etwaige (weitere Aus-)wirkungen von "verbose" klar mache, bis die 8.3.0 im stable erscheint. Verbose habe ich bisher noch nie benutzt. -
@andersmacher sagte in Debug-Optionen für JS/Blockly:
Dann muß ich mal zusehen, daß ich mir etwaige (weitere Aus-)wirkungen von "verbose" klar mache,
Hab ich im Kurs zuletzt ausführlich erklärt was das macht und bedeutet.