Console-based log destination with level coloring.
Per-thread log context: fields every record on this thread inherits.
File-based log destination with rotation support.
Forwarding log records to another instance.
Drain groups: which thread does a destination's work.
Memory buffer log destination for testing and debugging.
Bounded retention rings: the boot window, and the retroactive debug ring.
Log record serializers, independent of where the result is written.
Volume control: what happens when there is too much to log.
Wire codec for log records: records in, framed bytes out, and back again.