SpaceLogListener
In 2.0.4 we've added a SpaceLogListener
that can be used to write log output in an asynchronous way.
It works with a companion LoggerService
that pull entries from the Space and actually log them.
The configuration is very simple, here is an example:
00_logger.xml
01_logger_daemon.xml
(this is basically your old 00_logger.xml, synchronously writing to disk)
02_logger_service.xml
The logger service pulls entries from logger.q2
space queue and uses the second logger as its output (we arbitrarily called it DAEMON
).
The SpaceLogListener
can send to the Space the original "Live" (so to speak) LogEvent, or create a Frozen one (see the frozen
property). When set to true, log filters (i.e. the ProtectedLogFilter
) has to be applied before the SpaceLogListener
, otherwise, it won't work on the frozen LogEvent.
A FrozenLogEvent
is Serializable
, so we are not limited to TSpace
, one can use the ReplicatedSpace in order to implement a very simple central logging.