Turning on info logging cause many driver to clog the logs with a bunch of unwanted reports regardless if there is a change or not. Turning it off result in having no info at all. This is not very helpfull to troubleshoot problems.
Is there a way to log only event like in the event tab of devices?
The way things are logged in a driver is largely dependent on the way the driver was written the best place to start is with who wrote the driver. What driver are you talking about.
I would like to see the events logged for all devices. Meaning all events for all devices in one place (the logs). This way I could see what event happened when a particular problem occured and not having to hunt through an endless list of irrelevant info.
What you may be looking for is what many call Descriptive logging. It is generally pretty minimal and just bout what has happened. ie events. But agian that is something the developer of said driver needs to implement.
What one person sees as irrelevant may not be so for someone else.
That said there is no standard logging method to do what you ask. It is up to each developer to decide what is logged. You could use something like maker API and Node red to take all events and put them into a DB or something probably. Then you need a good way to analyze the data.
I also personally dump all of my logging to a InfluxDB database and then use Grafana to review it when i find occasions i need to beyond what is in the standard Live logging.
Yes, usually developer log event as info but sometime they add lots of other stuff too. I do mirror my logs to an external log server but it is not very helpfull since there is nothing identifying particular log entry as being an event.,
Since the system does it for each devices, I tought perhaps there was a solution to tap into this.
That is why i mentioned Maker API. It has a way to post events to a external server. In theory you could take that output in lets say Node-Red, and send it to a DB. Then you have a queryable DB table for events. There may even be a websocket for it, but i don't remember.
Bonjour. Have you used the search field in the log tab to filter the logs? Perhaps a keyword that would tie to your area of interest, device name, device code, app code, ... ? At least this way you concentrate the output.
This was posted by @Hubi a bit ago. I actually tested it out and it works, though the interface could use some work. I still use it from time to time, maybe @Hubi has a newer version.
It can be used for live log viewing, but there is an option to save the logs to a file while it is running. The saved log files use the same interface, to view only certain device logs from the saved file.
If you enable logging on everything, you will still be bogging down the hub processor, so I'm not sure that is a good option. Hubitat will still process and save all those logs.
If you enable all logging, you will find you only get less than a day of log history in Hubitat, depending how many things are logging. So this app would let you collect logs for days at a time on a dedicated Windows machine that you do not shut down.
That is not exactly true. You have a variety of ways to filter the loggings. You can select multiple devices, or apps so you can get a complete picture of activity from the logging. i often start with a keyword to give me a time and then change to filters to include devices possibly involved and zero in on the time window.
I suspect the problem though would be that is still based on what a developer decides to log, and not events. Getting actual events is a different animal.
Ok but it still won't remove the cloging and show event only. Furthermore, having to guess which other devices may be involved is defeating the purpose.
I can zero in on a specific time frame. The problem is the amount of information logged make it difficult to find relevant information.
I tought it would be nice to have an system option to filter logs this way (a log.event statement perhaps) but if a solution is more troublesome then the problem there is no point.