NEWS
Journal-Log erstellen
-
-
@tomily sagte in Journal-Log erstellen:
@wendy2702
Einen tail auf eine Datei unter Linux machen ist kein Problem.Sicher ?
@tomily sagte in Journal-Log erstellen:
tail - 50 /pfad-zur.log
@tomily sagte in Journal-Log erstellen:
tail -n 50 /var/log/ping.log//log/iobroker.current.log ?
@tomily sagte in Journal-Log erstellen:
@homoran
Wieso antwortet Ihr dann auf eine NodeRed-Frage in der Node-Red Kategorie?Sorry, kommt nicht mehr vor
-
@liv-in-sky
Danke. Das hilft schonmal, weil ich gesehen habe, dass ich den EXEC-Node in meinem Beispiel falsch konfiguriert habe.
Leider funktioniert es noch nicht ganz.Hab im Tail mal einen Pfad zu einer Test-Logdatei angegeben und im Function-Node eine doppelte Zeile entfernt. Da kam bei mir ein Fehler. Hast du Lust nochmal drüber zu schauen?
Hier der minimals abgeänderte Stand:
[ { "id": "37365980.457a5e", "type": "tab", "label": "TEST", "disabled": false, "info": "" }, { "id": "69747f35.56185", "type": "debug", "z": "37365980.457a5e", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 770, "y": 80, "wires": [] }, { "id": "761ec9ef.a184b8", "type": "exec", "z": "37365980.457a5e", "command": "tail", "addpay": true, "append": "-n 50 /opt/iobroker/log/iobroker.2021-02-08.log", "useSpawn": "false", "timer": "", "oldrc": false, "name": "", "x": 290, "y": 80, "wires": [ [ "e5eb10bd.53bc78" ], [], [] ] }, { "id": "649f8f7b.18614", "type": "inject", "z": "37365980.457a5e", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 100, "y": 80, "wires": [ [ "761ec9ef.a184b8" ] ] }, { "id": "e5eb10bd.53bc78", "type": "function", "z": "37365980.457a5e", "name": "", "func": "var b=Buffer.from(msg.payload);\nvar s=b.toString();\nvar out=s;\nmsg.payload= out;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 540, "y": 80, "wires": [ [ "69747f35.56185" ] ] } ]
-
der fehler sagt mit im moment nix - aber da ja eine ausgabe kommt, liegt es vielleicht am inject-node
-
@tomily liegt daran:
damit kann man einen befehl mitgeben, was bei uns ja nicht nötig ist - da inject nur timestamp
-
@liv-in-sky
Danke. Ich denke wir sind der Sache auf der SpurAllerdings ist es wie verhext, da ich in der Debug-Anzeige gar keine Ausgabe bekomme.
Wenn ich gleichzeitig per putty einen tail auf die selbe datei mache, sehe ich aber, dass dort Einträge kommen.Mache ich Grundlegend etwas falsch?
Kannst du mir von deinem jetzigen Flow, nochmal einen export machen? -
dein geposteter flow war schon richtig - bei diesem bild im letzten post bist du im 2ten ausgang dran - da kommt nichts, wenn kein error da ist - das war nur zur überprüfung wo der fehler herkam
du musst natürlich wieder am obersten punkt connectet sein und durch die function gehen - so wie du es gepostet hast - nur mit dieser einstellung bzw darf das nicht angeklickt sein - dann kommt auch kein error und dein flow funktioniert
-
Danke! Langsam fange ich es an zu kapieren. Vorallem wie der EXEC-Node funktioniert.
Leider bekomme ich egal wie ich es drehe und wende keine Ausgabe mehr im Debug Fenster. Irgendwo muss da noch ein Unterschied seinIch werde noch weiter Testen und schauen, woran das liegen könnte.
An für sich behauptest du, dass der Tail befehl bei einer Änderung der Logdatei ausgeführt wird und mir diese mehrzeilige Ausagbe dann übermittelt? Habe ich das richtig verstanden?
-
-
@tomily sagte in Journal-Log erstellen:
An für sich behauptest du, dass der Tail befehl bei einer Änderung der Logdatei ausgeführt wird und mir diese mehrzeilige Ausagbe dann übermittelt? Habe ich das richtig verstanden?
übrigens habe ich das nicht behauptet - der tailbefehl muss angestoßen werden. in den nodes gibt es nichts, was das tun könnte. aber eins nach nach dem anderen - ich wollte erstmal die daten bekommen. wie das richtig getriggert wird , müssen wir noch rausfinden.
-
damit der flow getriggert wird, kannst du das nutzen -
aber vorsicht, wenn das file oft geändert wird, wird oft getriggert
auf das iobroker log würde ich das nicht anwenden - da wird sich tot getriggertda müßte dann eine pause eingebaut werden, das zwischen zwei triggern mind. ein paar sekunden liegen - daher würde ich (aus mangel an wissen) den timestamp einfach alle x sekunden wiederholen - so hast du es in der hand, wie oft getriggert wird
daher einfach eine passende wiederholung einstellen
dann wird alle x sekunden getriggert
-
@liv-in-sky
Geil!!!Danke für die Mühe mit dem Mini-Video. Ich hatte alles so eingestellt wie Du. Habe den ganzen ioBroker mal Neugestartet. Anschließend hat es sofort funktioniert. Irgendwas muss sich da aufgehängt haben....Die Anzeige kommt jetzt tatsächlich wie gewünscht im Textfeld und Debugfenster an.
Jetzt wäre es nur noch geil, wenn ich die Zeilen trennen könnte. Dann habe ich mein Ziel mehr als erreichtHabe mal von Hand eine Test-LOG erstellt, die sich erst mal nicht ständig ändert. Den Trigger per "Wiederholung" ist ne super Idee und genügt vollkommen.
-
weißt du zufällig, ob das dashboard normalen text oder html formatierten text braucht
-
@liv-in-sky sagte in Journal-Log erstellen:
weißt du zufällig, ob das dashboard normalen text oder html formatierten text braucht
nimm doch einmal einfach <br> und beim zweiten \n
-
@homoran
Müsste beides gehen. Wenn man den Text-Node verwendet ist es normaler Text. Wenn man das "Template-Node" verwendet müsste es meiens Wissens nach HTML sein.Sieht aktuell beides gleich aus:
-
@tomily bin noch auf ideen suche - der tail befehl gibt das ohne richtiges kennzeichen aus, was eine neue zeile ist. es sind auch "seltsame" escape zeichen im text - da habe ich mit regex ein problem
ich such noch ein wenig, ob ich etwas finde, womit ich den text-payload richtig zerlegen kann
-
@liv-in-sky
Geil, ich danke Dir vielmals. Bitte mache Dir keinen Stress. Die Sache hat keine Hektik. Bin zwar gespannt, aber du musst dich nicht beeilen.Habe einen Aktualisieren-Button eingebaut. Dann kann man sich die Infos laden, wenn man es braucht, ohne dass ständig refresehd wird:
-
kannst du mir mal bitte den inhalt deines ping files posten - vielleicht findet sich da was zum zeileunterschied - oder wie wird das ersellt - mit welchen befehlen - mit dem iobroker log file test ist das irgenwie schwierig - das mit dem aktualisierungsknopf ist eine gute idee
-
ich frage deshalb danach, weil es vielleicht möglich ist, schon im log-vorgng etwas einzubinden, was als zeilentrenner später in nodered erkannt wird und durch </br> getauscht wird
-
@liv-in-sky
Bisher gibt es das LOG so noch nicht. Ich werde das durch andere Scripte erstellen und befüllen lassen.
Somit sind noch alle Wege offen. Das Testlog habe ich mit vi einfach selbst untereinander geschrieben.Denkbar und Sinnvoll wäre es, dass ich jede neue Zeile mit Datum, Uhrzeit + ": " Doppelpunkt am Ende beginne. Also z.B.
08.02.21 - 14:31: Zeile 1
08.02.21 - 14:31: Zeile 2
08.02.21 - 14:32: Bla
08.02.21 - 14:34: Bla blaWäre das zum parsen Sinnvoll?