notify durch einen eintrag im Logfile triggern - geht das?

Begonnen von Bäschdler, 05 Dezember 2018, 19:37:25

Vorheriges Thema - Nächstes Thema

Bäschdler

Hallo,

ich würde gerne einen notify triggern sobald eine bestimmte Meldung in einem Logfile eingetragen wird / gerade wurde.

Beispiel:
Ich habe einen IMAP Client der - wenn er keinen connect bekommt -  im (globalen) Logfile eine Eintragung macht.
Zitat
2018.12.05 04:04:40 1: PERL WARNING: Trying command when NOT connected! at /usr/local/share/perl/5.24.1/Mail/IMAPClient.pm line 122.
   Mail::IMAPClient::LastError(Mail::IMAPClient=HASH(0x4431660), "NO not connected") called at /usr/local/share/perl/5.24.1/Mail/IMAPClient.pm line 1554
   Mail::IMAPClient::_send_line(Mail::IMAPClient=HASH(0x4431660), "435 SELECT INBOX", 0) called at /usr/local/share/perl/5.24.1/Mail/IMAPClient.pm line 1330
   Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x4431660), "SELECT INBOX") called at /usr/local/share/perl/5.24.1/Mail/IMAPClient.pm line 1234
   Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x4431660), "SELECT INBOX") called at /usr/local/share/perl/5.24.1/Mail/IMAPClient.pm line 850
   Mail::IMAPClient::select(Mail::IMAPClient=HASH(0x4431660), "INBOX") called at ./FHEM/32_mailcheck.pm line 275
   main::mailcheck_poll(HASH(0x32c4940)) called at fhem.pl line 3146
   main::HandleTimeout() called at fhem.pl line 649

Ich würde nun gerne auf einen solchen Eintrag mit einem notify (oder watchdog) reagieren und in o. g. Beispiel den Mailclient neu starten.
Analog dazu fallen mir noch ein paar andere Anwendungsfälle ein. Das Problem ist jedesmal, dass ich kein reading eines devices habe welches ich dazu abfragen könnte.

Hat mir jemand einen Tipp wie man das machen kann?

Danke und viele Grüsse
Bäschdler

PatrickR

Hi!

Schau Dir mal das Attribut readLog von notify an.

Patrick


Von unterwegs gesendet.
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

Bäschdler

Super, das war die Lösung. Danke

Jetzt noch eine Frage: Gibt es noch eine Möglichkeit das mit einem (beliebigen) anderen Logfile zu machen oder nur mit dem FHEM-Log ?


Viele Grüsse
Bäschdler

rudolfkoenig

Nur mit dem FHEM-Log.
Da andere Logfiles nach einem Event geschrieben werden, waere so eine Operation unnoetig aufwendig.
Wenn die Datei nicht von FHEM geschrieben ist, dann muss man sowas wie inotify verwenden.