NEWS
[Log Parser Adapter] Fragen zu Regex und Filterregeln
-
Frage von @Negalein.
Ich verlinke: https://forum.iobroker.net/post/410265
Wenn ich unter
Whitelist UND
2 Bedingungen (zB[Alexa-Log-Script]
und-+-
) eintragen möchte, wie muss ich da vorgehen?[Alexa-Log-Script], -+-
und inBereinigen
hätt ich dann/script\\.js\\.[^:]*: [Alexa-Log-Script]/ \-+-/
eingetragen, funktioniert nicht.Dann wird im Widget nichts angezeigt.
Erst wenn ich wieder inWhitelist UND
nur[Alexa-Log-Script]
stehen habe und inBereinigen
wieder\-+-/
entferne, funktioniert es wieder.Danach folgt die entsprechende Diskussion. Meine letzte Antwort:
Wenn ich ein Script mit dem Namen "Alexa_Laura_Volume" anlege und dort dann
log('-+- Hallo Test -+-');
absetze, dann geht es bei mir wie gewünscht.Hier meine Einstellungen von hier aus den Adapter-Einstellungen:
{ "active": true, "name": "Alexa_Test", "whitelistAnd": "", "whitelistOr": "[Alexa-Log-Script], Alexa_Laura_Volume", "blacklist": "", "debug": false, "info": true, "warn": false, "error": false, "clean": "-+-, /script\\.js\\.[^:]*: \[Alexa-Log-Script\]/, /script\\.js\\.[^:]*: /", "maxLength": "100", "merge": false, "dateformat": "#DD.MM.# hh:mm" }
Prüfe das mal und vergleiche. Unter "clean" habe ich noch was zur Bereinigung deiner Laura-Volume hinzugefügt.
-
@Mic sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
Frage von @Negalein.
Hi Mic!
Gute Idee mit dem Auslagern der Fragen!
Also, es funktioniert nicht.
So siehts bei mir aktuell aus.
{ "active": true, "name": "Laura-Volume", "whitelistAnd": "-+-", "whitelistOr": "", "blacklist": "/##\\{\\s?\\\".*\\\"\\s?\\}##/", "debug": false, "info": true, "warn": false, "error": false, "clean": "/script.js.[^:]*: /, -+-", "maxLength": "", "merge": false, "dateformat": "#DD.MM.# hh:mm" }, { "active": true, "name": "Alexa", "whitelistAnd": "*", "whitelistOr": "[Alexa-Log-Script], Alexa_Laura_Volume", "blacklist": "", "debug": false, "info": true, "warn": false, "error": false, "clean": "-+-, /script\\.js\\.[^:]*: \[Alexa-Log-Script\]/", "maxLength": "", "merge": false, "dateformat": "#DD.MM.# hh:mm" },
In "Laura-Volume" wurde Kalender geschrieben. In "Alexa" nicht.
-
@Negalein sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
[Alexa-Log-Script], Alexa_Laura_Volume
Ich kann es nicht reproduzieren, bei mir geht das wunderbar.
Mach mal bitte folgendes:-
Setze im Adapter bei Alexa-Filter: "Whitelist ODER":
[Alexa-Log-Script], Alexa_Test_1
(Rest so lassen) -
Erstelle mal ein neues JavaScript im JS-Adapter, Name
Alexa_Test_1
-
In diesem Script führst du aus:
log('-+-Laura Volume 30 07:32 Uhr-+-');
-
-
@Mic sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
Mach mal bitte folgendes:
Sehr komisch das ganze!
in 1.) funktioniert es, in 2.) nicht.
Da wird dann aber durch 2.) auch nichts von [Alexa-Log-Script] reingeschrieben.
-
@Negalein
Ich kann es leider nicht reproduzieren, da es bei mir geht.- Aktuelle Adapter-Version nutzt du? War bis vor 30 Minuten noch die Version 0.4.5 (jetzt mit der 0.4.6 hat sich da aber nichts geändert)
- node.js Version auch keine alte vermutlich, oder?
- Du hast mit
log('-+-Laura Volume 30 07:32 Uhr-+-');
getestet, richtig? Das JavaScript heißt "Alexa_Test_1"?
-
@Mic sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
Ich kann es leider nicht reproduzieren, da es bei mir geht.
Ich verstehs auch nicht.
Aktuelle Adapter-Version nutzt du? War bis vor 30 Minuten noch die Version 0.4.5 (jetzt mit der 0.4.6 hat sich da aber nichts geändert)
Ja, vor einer halben Stunde upgedatet.
node.js Version auch keine alte vermutlich, oder?
Nö
Node.js: 10.17.0 NPM: 6.11.3Du hast mit log('-+-Laura Volume 30 07:32 Uhr-+-'); getestet, richtig? Das JavaScript heißt "Alexa_Test_1"?
Richtig
Das komische ist, mach ich es getrennt, funktioniert es.
{ "active": true, "name": "Laura-Volume", "whitelistAnd": "-+-", "whitelistOr": "", "blacklist": "/##\\{\\s?\\\".*\\\"\\s?\\}##/", "debug": false, "info": true, "warn": false, "error": false, "clean": "/script.js.[^:]*: /, -+-", "maxLength": "", "merge": false, "dateformat": "#DD.MM.# hh:mm" }, { "active": true, "name": "Alexa", "whitelistAnd": "[Alexa-Log-Script]", "whitelistOr": "", "blacklist": "", "debug": false, "info": true, "warn": false, "error": false, "clean": "/script\.js\.[^:]*: [Alexa-Log-Script]/", "maxLength": "", "merge": false, "dateformat": "#DD.MM.# hh:mm" },
Mach ich beides in einem funktioniert [Alexa-Log-Script] auch nicht.
{ "active": false, "name": "Alexa", "whitelistAnd": "*", "whitelistOr": "[Alexa-Log-Script], Alexa_Test_1", "blacklist": "", "debug": false, "info": true, "warn": false, "error": false, "clean": "-+-, /script\.js\.[^:]*: [Alexa-Log-Script]/", "maxLength": "", "merge": false, "dateformat": "#DD.MM.# hh:mm" }
-
@Negalein
Gibts ja nicht...
Noch ein Versuch:
Ersetze mal unter "Whitelist ODER"[Alexa-Log-Script], Alexa_Test_1
durch[Alexa-Log-Script], -+-
-
@Mic sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
Noch ein Versuch:
Fehlerbild bleibt
Es wird nichts von [Alexa-Log-Script] und auch nichts von -+- angezeigt.
-
@Negalein
Verstehe ich nicht.
Ich setze z.B. folgenden Filter:
Dann setze ich folgendes in einem beliebigen JavaScript ab:
log('TEST A: [Alexa-Log-Script] Test'); log('TEST B: -+- Test');
Dann kommt alles schön an (Datenpunkt
logparser.0.filters.Test.json
)[ { "date": "Heute 14:40", "severity": "<span class='logInfo'>info</span>", "from": "javascript.0", "message": "script.js.Test_1: TEST B: -+- Test", "ts": 1586781652664 }, { "date": "Heute 14:40", "severity": "<span class='logInfo'>info</span>", "from": "javascript.0", "message": "script.js.Test_1: TEST A: [Alexa-Log-Script] Test", "ts": 1586781652664 } ]
-
@Mic sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
Verstehe ich nicht.
Ich hab jetzt mal komplett neu erstellt.
Da funktioniert es. Nur der Regex in Bereinigen will nicht ganz.
-+-, /script\.js\.[^:]*: [Alexa-Log-Script]/
-
@Negalein sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
Da funktioniert es.
Ok, super.
Nur der Regex in Bereinigen will nicht ganz.
Trag da mal ein:
/script\.js\.[^:]*: /, [Alexa-Log-Script], -+-
-
@Mic sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
Ok, super.
Trag da mal ein: /script.js.[^:]*: /, [Alexa-Log-Script], -+-Perfekt, es läuft!
War eine schwere Geburt!
Hast du eine Kaffeekassa? -
@Negalein sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
Perfekt, es läuft!
War eine schwere Geburt!
Hast du eine Kaffeekassa?Das war's wirklich
Danke, noch nicht, sollte ich vielleicht mal bei Gelegenheit einrichten...
Aber ich helfe gerne und danke dir fürs Testen, will den Adapter möglichst bald ins Latest bekommen, und da brauche ich euer Feedback...@Mic sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
/script\.js\.[^:]*: /
Das wäre evtl. auch was als globale Option im Adapter, also dass bei JavaScript-Logs grundsätzlich optional der ganze erste Teil
script.js.Script-Pfad.Script-Name:
rausgeschnitten wird. -
@Mic sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
Danke, noch nicht, sollte ich vielleicht mal bei Gelegenheit einrichten...
schick mir per Chat mal deine Paypal
Aber ich helfe gerne und danke dir fürs Testen
Jetzt teste ich noch, dass ich die 2 derzeit deaktivierten "Alexa" und "Laura-Volume" im Adapter lösche, die beiden DP lösche und dann wieder im Adapter "Test" zu "Alexa" umbenenne.
-
@Mic sagte in [Log Parser Adapter] Fragen zu Regex und Filterregeln:
Das wäre evtl. auch was als globale Option im Adapter,
Dann ist das Filterfeld ( Bereinigen ) auch nicht so vollgepackt
... bei dem Platzbedarf im Feld Bereinigen
-
Hallo,
habe mal ne frage zu den Filterregeln Globale Blacklist verstehe das noch nicht so ganz.
Habe das in Globale Blacklist eingetragen :/instance system\.adapter\.[^\s]* Terminated (NO_ERROR): Without reason/
Wird aber Trozdem unter Info angezeigt
-
@Iccube
Gehe mal im ioBroker Admin links auf "Log", dann oben "LOG HERUNTERLADEN" und da dann die entsprechende Logzeile komplett kopieren und hier in Code-Tags einfügen. -
2020-04-27 19:20:00.021 - info: host.iobroker instance system.adapter.dwd.0 started with pid 4722 2020-04-27 19:20:00.623 - info: dwd.0 (4722) starting. Version 2.4.7 in /opt/iobroker/node_modules/iobroker.dwd, node: v12.16.2, js-controller: 3.0.19 2020-04-27 19:20:01.376 - info: dwd.0 (4722) Terminated (NO_ERROR): Without reason 2020-04-27 19:20:01.880 - info: host.iobroker instance system.adapter.dwd.0 terminated with code 0 (NO_ERROR)
-
Hast Du eine Idee für mich weshalb die Angaben von
alexa2.0.History.json
nicht inlogparser.0.filters.Alexa.json
landen?
-
@Iccube
/instance system\.adapter\.[^\s]* Terminated (NO_ERROR): Without reason/
würde eine Logzeile wie diese hier erwarten:host.ctioBroker instance system.adapter.dwd.0 Terminated (NO_ERROR): Without reason
Bei dir ist die Logausgabe aber anders.
Mache einfach mal das hier in der Global Blacklist:Terminated (NO_ERROR): Without reason
Das brauchst du wohl bei anderen Adaptern auch nicht, daher generisch.