class Cabin::Outputs::IO

Wrap IO objects with a reasonable log output.

If the IO is not attached to a tty (io#tty? returns false), then the event will be written in ruby inspect format terminated by a newline:

{ "timestamp" => ..., "message" => message, ... }

If the IO is attached to a TTY, there are # human-friendly in this format:

message { event data }

Additionally, colorized output may be available. If the event has :level, :color, or :bold. Any of the Cabin::Mixins::Logger methods (info, error, etc) will result in colored output. See the LEVELMAP for the mapping of levels to colors.