Use the ActiveSupport::LogSubscriber pattern

Works around nil-logger scenario and is properly integrated with tagging
and request log flushing.