A trait encapsulating the operations required of a logger.
Determines if a log message with the specified metadata would be logged.
This is used by the
log_enabled! macro to allow callers to avoid
expensive computation of log message arguments if the message would be
enabled is not necessarily called before this method.
log should perform all necessary filtering
Flushes any buffered records.