LogReader binding

Yes its running i guess . It appears as default to repeat errors in the main openhab log. But nothing extra . Just ive seen the log roration stamp appear.
It populates paper ui things after being manually added in text files
No items being populated other than log rotation

@pauli_anttila might have some ideas but in the mean time could you set up the binding through Paper UI? Just to avoid any kind of typos in manual configuration. Or ist that 409 error related in configuring the binding through Paper UI?

And if that logRotated channel is the only thing in your .items file you then have no other channels linked.

I get 409 if i touch anything in paper ui regarding log reader binding.
I copied the config from the examples and checked the describers from paper ui
All example items are configured but stay blank i could clear them and try full paper ui. But the logreader binding is a manual placement in the necessary folder would it appear in paper ui by itself

So you first configured the binding manually and then tried to alter something through Paper UI?

Even if you put a somebinding.jar in addons folder that doesnā€™t meant that itā€™s not configurable in Paper UI. You just have to add it to things first. Go to Paper UI -> Configuration and click the blue ball to add it.

Its all populated with all the channels correctly but if i hit tick i was gettng 409 error

Sorry Iā€™m not following you here. What do you mean you ā€˜hit tickā€™?

I think we have few options here: 1. You remove all manual config and try only with Paper UI. 2. You post your whole .items and .things file so we can verify your config and maybe correct it. 3. Reinstall the binding and maybe reboot OH. (Weird web server errors like your 409 here could be from cache problems and restarting OH might help in those)

Ill try a fresh paperui approach later with a restart of openhab.

The tick refrence is for when you are in paper ui things editing

Thanks for input on this

The full restart of openhab has improved behaviour of the items i had correct, others I had used directly from examples were incorrect (note to self, dont assume examples are correct)

In some situations a manual configuration could be easier eg for example the setting of the
items needing to be log monitored.

Now It appears the counters are working for the events but only one of the stringsā€¦ but progress

I saw you enabled DEBUG logging already so anything unusual there now?

String LastWarningEvent { channel="logreader:reader:Reader:lastWarningEvent" } working
String LastErrorEvent { channel="logreader:reader:Reader:lastErrorEvent" } working
String LastCustomEvent { channel="logreader:reader:Reader:lastCustomEvent" } working

Number WarningEventsMatched { channel="logreader:reader:Reader:warningEvents" } working
Number ErrorEventsMatched { channel="logreader:reader:Reader:errorEvents" } working
Number CustomEventsMatched { channel="logreader:reader:Reader:customEvents" } working

DateTime LogRotated { channel="logreader:reader:Reader:logRotated" } no entry ( but can take time to appear in the past )

Switch NewWarningEvent { channel="logreader:reader:Reader:newWarningEvent" } no entry
Switch NewErrorEvent { channel="logreader:reader:Reader:newErrorEvent" } no entry
Switch NewLastCustomEvent { channel="logreader:reader:Reader:newCustomEvent" } no entry

the last three are a trigger, a flag for an event, Will check with a rule

Yet to spot anything in debug of significance

logRotated does update only when log really rotates so nothing unusual there. Those last three channels are trigger channels. You do not define them in .items file. They can be used in rules. Look for example.rules section in binding readme to get a hint.

Iā€™d say youā€™re good to go :wink:

Be nice if the paper ui mentioned the word Trigger :smile:

Best to add persistence to some things ( looking at LogRotated ), a steeper learning curve i think

Is there a way to handle the long strings in BasicUI example the String LastWarningEvent

I guess I could use the triggers in a rule to create my own specific logging

Best to add persistence to some things ( looking at LogRotated ), a steeper learning curve i think

Donā€™t know why you want to persist any of these channels. The original idea of this binding was to get these parsed log lines to be sent further for example with telegram or mail action. Not to fil your database with errors.

Is there a way to handle the long strings in BasicUI example the String LastWarningEvent

I guess you mean something to chop it shorter to fit in the screen. No nothing usefull really. Maybe you can come up with a few proxy items and rules to shorten the line?

I guess I could use the triggers in a rule to create my own specific logging

Anything is possible but is it going to be usefull in the end. If you want to fiddle around with logging thereā€™s few good tutorials on the forum about modifying log settings to your needs. Just use the search.

Happy hacking!

1 Like

This bindings pull request is now merged and you can soon find it in the SNAPSHOT builds. Good job @pauli_anttila!

/Miika

I canā€™t figure out, how to use the Error Blacklisting Patterns.
If I want to blacklist e.g.

2018-05-17 11:00:41.815 [ERROR] [org.openhab.io.net.http.HttpUtil    ] - Fatal transport error: java.net.SocketTimeoutException: Read timed out

how do I have to fill in the PaperUI configuration parameters?
Thanks for your help.

To answer my question myself: File based configuration works by just adding the Error. Doing the same over PaperUI doesnā€™t work.

Can you share things for logreader?
Looking for following two : 1. Custom key word 2. Reading the mossquitto.log (other th
an openhab application log.8

Can you share things for logreader?
Looking for following two : 1. Custom key word 2. Reading the mossquitto.log (other th
an openhab application log.

you have to fill in the binding page for logreader inpaper ui

Thats my thing:

logreader:reader:openhablog[ refreshRate=1000, warningPatterns="WARN+", warningBlacklistingPatterns="Warning to block|another warning to block", errorPatterns="ERROR+", errorBlacklistingPatterns="Error to block|another error to block" ]

I donā€™t use custom key word and reading other logs (I even donā€™t know if it is possible).