Log Alert Application

Started by sillysky-admin, Mar 22, 2025, 06:55 PM

Previous topic - Next topic

sillysky-admin

I am currently developing an application that displays alerts from the log system.
A local service reports all error messages to the application's address.

Since multiple instances of the Log Alert application can run on different nodes,
the application must announce itself via broadcast.
Additionally, it subscribes to notifications for new nodes,
as newly started nodes cannot receive the broadcast if it was sent before their startup.
These nodes receive a separate notification instead.

The application displays all error messages from the logs of various nodes in a list,
focusing on the most recent message.
Clicking on an error message reveals a context excerpt, showing the five preceding log entries,
which are retrieved from the respective node via a message request.

A button allows switching to the full log view of a node.
This log is displayed in a separate browser tab, using message-based communication.

Since logs can become very large, they are fetched from the node in chunks.
Each log entry has an index number, enabling selective retrieval of missing entries.
The question remains whether all entries should be loaded or only those currently visible.
I will favor the latter approach.

The service on the node stores logs not only as formatted text
but also as structured records with different fields.
For this purpose, I will use an H2 database.

A search function will be available within the log view.
Various search terms can be used, each highlighted in a different color.

Additionally, search terms can be sent to the nodes.
Whenever one of these terms appears in the log, an alert is triggered,
and the corresponding log entry is sent to the application.

Log levels can be adjusted via the Node Manager in the general configuration dialog.
However, it would be beneficial to provide additional specialized dialogs
for fine-tuned log level configuration.

Can't wait to hear what you think—let me know your thoughts!

Michael