module ActiveSupport::TaggedLogging

def self.new(logger)

def self.new(logger)
  logger = logger.dup
  if logger.formatter
    logger.formatter = logger.formatter.dup
  else
    # Ensure we set a default formatter so we aren't extending nil!
    logger.formatter = ActiveSupport::Logger::SimpleFormatter.new
  end
  logger.formatter.extend Formatter
  logger.extend(self)
end

def flush

def flush
  clear_tags!
  super if defined?(super)
end

def tagged(*tags)

def tagged(*tags)
  formatter.tagged(*tags) { yield self }
end