This document describes a proposed log message hub ("hub") and user interface ("UI") to complement the logging system described in [PEP282] and implemented in the python logging system.
The hub and UI would perform the following duties:
accept messages from the logging module via the logging module's handlers (FileHandler, SocketHandler, SyslogHandler, SMTPHandler, NTEventLogHandler, SQLHandler)
redistribution of messages to other targets (just plucking ideas from the ether here) ... all the above Handlers, ElvinHandler, OpenviewHandler, SunViewManagerHandler, JabberHandler, SMSHandler
perform some action on incoming messages, possibly aggregating, dropping or forwarding
have state which would be affected by the actions and may cause new messages to be generated (ie. escalation)
present a display of the messages to a user, either graphically or textually (the most basic of these would resemble the UNIX tail -f)
Note: it is not the intention of this proposal to implement a monitoring system like EDDIE. Monitoring of systems is performed by other components which generate log messages. It is the intention of this proposal to present those messages to users in meaningful and useful ways.
Note: it is not the intention of this proposal to add this functionality to the core logging implementation of PEP 282. The implementation of this proposal would form a separate installation of software.
See logext.py for an initial implementation that provides the Hub, Action and Receiver base classes. It also implements TCP and UDP receivers.
It uses a modified logging.py and logrecv.py.
Test it with the test_hub.py server. Send messages to the server with log_test3.py (which uses logging.cfg).