Hi today i was trying to configure OH to send me error logs to a telegram chat. Telegrama chat wsa working so I define my things, items and rules for the log reader binding.
Everything was going perfect until i test the rule with an error I alreaday know and everthing goes to hell (In spanish i have better way to express what happend but with my english it is not enough.
My things files:
logreader:reader:openhablogError "Openhab logs Errors" [filePath="${OPENHAB_LOGDIR}/openhab.log", refreshRate=1000, errorPatterns="ERROR+"]
logreader:reader:eventsLogError "Events logs Errors"[filePath="${OPENHAB_LOGDIR}/events.log", refreshRate=1000, errorPatterns="ERROR+"]
My items file:
// Openhab Erros
DateTime OpenhablogreaderLogRotated "Last Log Rotation [%1$tY.%1$tm.%1$te %1$tR]" <time> { channel="logreader:reader:openhablogError:logRotated" }
Number OpenhablogreaderErrors "Error events matched [%d]" <alarm> { channel="logreader:reader:openhablogError:errorEvents" }
String OpenhablogreaderLastError "Last error [%s]" { channel="logreader:reader:openhablogError:lastErrorEvent" }
Number OpenhablogreaderWarnings "Warning events matched [%d]" <alarm> { channel="logreader:reader:openhablogError:warningEvents" }
String OpenhablogreaderLastWarning "Last warning [%s]" { channel="logreader:reader:openhablogError:lastWarningEvent" }
Number OpenhablogreaderCustoms "Custom events matched [%d]" <alarm> { channel="logreader:reader:openhablogError:customEvents" }
String OpenhablogreaderLastCustom "Last Custom [%s]" { channel="logreader:reader:openhablogError:lastCustomEvent" }
// Events Errors
DateTime EventslogreaderLogRotated "Last Log Rotation [%1$tY.%1$tm.%1$te %1$tR]" <time> { channel="logreader:reader:eventsLogError:logRotated" }
Number EventslogreaderErrors "Error events matched [%d]" <alarm> { channel="logreader:reader:eventsLogError:errorEvents" }
String EventslogreaderLastError "Last error [%s]" { channel="logreader:reader:eventsLogError:lastErrorEvent" }
Number EventslogreaderWarnings "Warning events matched [%d]" <alarm> { channel="logreader:reader:eventsLogError:warningEvents" }
String EventslogreaderLastWarning "Last warning [%s]" { channel="logreader:reader:eventsLogError:lastWarningEvent" }
Number EventslogreaderCustoms "Custom events matched [%d]" <alarm> { channel="logreader:reader:eventsLogError:customEvents" }
String EventslogreaderLastCustom "Last Custom [%s]" { channel="logreader:reader:eventsLogError:lastCustomEvent" }
rule "Openhab.log errors to telegram"
when
Channel 'logreader:reader:openhablogError:newErrorEvent' triggered
then
val telegramAction = getActions("telegram","telegram:telegramBot:personal")
telegramAction.sendTelegram(chatRoom,"*ERROR* LogReader Event!\n%s Errors are in the log! Here is the last row of it:\n`%s`", OpenhablogreaderErrors.state.toString, OpenhablogreaderLastError.state.toString)
end
What i can tell is that i recibe the message error in telegram and my logs in fronttails start going and going until OH reboot it self. After that and because I’m a tough head i tried again and everything repeat. After the reboot lots of thing stop work like mqtt. After i erase all files of lof reader and reboot OH start working again correctly.
I will copy the logs: ther most significat one that i see is:
2020-06-05 13:21:31.476 [ERROR] [org.apache.felix.fileinstall ] - In main loop, we have serious trouble
2020-06-05 13:21:33.707 [ERROR] [ersey.server.ServerRuntime$Responder] - An I/O error has occurred while writing a response message entity to the container output stream.
2020-06-05 13:21:34.937 [WARN ] [se.jetty.util.SharedBlockingCallback] - Blocker not complete Blocker@bc423a{null}
2020-06-05 13:21:36.018 [WARN ] [org.eclipse.jetty.server.HttpChannel] - /rest/thing-types
2020-06-05 13:21:38.777 [ERROR] [io.openhabcloud.internal.CloudClient] - Error connecting to the openHAB Cloud instance: {}
2020-06-05 13:21:39.591 [ERROR] [ler.disconnect.MqttDisconnectHandler] - Exception while disconnecting.
2020-06-05 13:21:40.605 [WARN ] [netty.channel.DefaultChannelPipeline] - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
i cant’any other log with the rule.
If my files are correctly i will try again and put more flags to the rule. But for now i won’t try again.
Thanks
pd: Also, several rules stop working the ones with item update taht i use with my remotes one zwave and onother mqtt. The update is reciobe but the rule isn’t trigger.