I created a small script which allows parsing of the openhab logfiles and then pushes the result back with the rest api.
This way I can automatically check my logs for errors and then send those through the pushover binding.
(I always forgot to check the logs regularly )
Maybe this is useful for anybody else.
Check it out on github!
2016-06-30 10:30:01.324 [INFO ] [org.openhab.model.script.Exec ] - 2 of 208 lines matched in /opt/openhab/logs/openhab.log
2016-06-30 12:30:01.432 [INFO ] [org.openhab.model.script.Exec ] - 0 of 11 lines matched in /opt/openhab/logs/openhab.log
2016-06-30 10:30:01 - LastError state updated to 2016-06-30 10:27:28.112 [ERROR] [.s.container.ContainerResponse] - The RuntimeException could not be mapped to a response, re-throwing to the HTTP container2016-06-30 10:27:28.127 [ERROR] [.a.h.ReflectorServletProcessor] - onRequest()
Thanks for your reply ( even if it’s the wrong thread. Maybe a mod can move it.).
This looks very good - I’ll try it immediately.
From looking at it the persistence-extension object seems to be missing?
I’m trying to implement your script but run in to problems with authentication:
python3 GetErrors.py -t
Invalid Dict-File at ‘files’!
Error: '[Errno 2] No such file or directory: ‘files’'
909 of 3031 lines matched in /opt/openhab/logs/openhab.log
Traceback (most recent call last):
File “GetErrors.py”, line 141, in
rest.put_status( element[“VAR”], sendstr)
File “/opt/openhab/etc/GetOpenhabErrors/oh_rest.py”, line 36, in put_status
File “/usr/lib/python3/dist-packages/requests/models.py”, line 825, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized
In openhab.log I see the following:
[WARN ] [.io.net.http.SecureHttpContext] - authInfos ‘l�’ must contain two elements separated by a colon
I did not test authentification, but it seems that I forgot to transfer user and password.
On github you find an updated version which should run fine.
Now I get the following warning
[WARN ] [.io.net.http.SecureHttpContext] - authInfos 'm���٥�ݕ��ͅ������͑��͝�����' must contain two elements separated by a colon
I tried to copy this from the rest-examples. Maybe there is an error. I’ll see if I can reproduce this this week.
I did push a fix for the auth-issue to github. I tried it at home and it should work now.
Please let me know if this fixed the issue for you.
Now it’s working, thank you!
New Version available with minor performance Upgrades and tweaks
Added newlines for better readability when transferring through pushover
Fixed regex so errormessages over multiple lines are matched correctly.
the module ? I guess refered to
Traceback (most recent call last):
File “/etc/openhab2/scripts/GetOpenhabErrors/GetErrors.py”, line 8, in
ImportError: No module named oh_rest
I have solved this bit
Got it working, nice
Had to define item LastError, obviously
Had to set the paths of my logs being a ubuntu manual install non docker
Had to change files file permissions to rw
How can I test the rest api is causing LastError to update ?
Test calling GetErrors.py the seems to fill the logs with /n /n
Can I spot a specific ERROR or DEBUG then pass single entry back into openhab for use
Example ThingStatusInfoEvent changed from ONLINE to OFFLINE
You can modify the search expression in the config file and search for whatever you want
Just create another entry with another search expression that pushes to the same item.