public class DispatchingLogQueue
extends java.lang.Object
LogRecords which takes care of dispatching them to a remote log service,
using the one provided in setRemoteLogDispatcher(RemoteLogDispatcher).
Technically this class is not a singleton, but it is foreseen to be used as a single instance. It is thread-safe, so multiple log handlers can submit records.
All log records to be sent remotely to the central log service must be submitted
to the log(LogRecord) method.
If the remote log service is not available (e.g. during startup, or later temporarily due to network problems),
the log records will be cached.
The cache size is given by #MAX_QUEUE_SIZE.
If the cache is more than 70% full, the log method will only accept records with level INFO or higher.
If the cache is full, no records are accepted. The idea is to not jeopardize the running system, but rather stop remote logging.
The queue sorts log records by their log levels and thus dispatches the most important records first,
using LogRecordComparator.