module ActiveSupport::TaggedLogging
def self.new(logger)
def self.new(logger) logger = logger.clone 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) if block_given? formatter.tagged(*tags) { yield self } else logger = ActiveSupport::TaggedLogging.new(self) logger.formatter.extend LocalTagStorage logger.push_tags(*formatter.current_tags, *tags) logger end end