class ActiveSupport::BufferedLogger

Public Instance Methods

add(severity, message = nil, progname = nil, &block) click to toggle source
# File lib/imprint/rails_logger.rb, line 5
def add(severity, message = nil, progname = nil, &block)
  #rails 2 and 3.0
  if @level && self.respond_to?(:buffer)
    return if !@level.nil? && (@level > severity)
    message = (message || (block && block.call) || progname).to_s
    # If a newline is necessary then create a new message ending with a newline.
    # Ensures that the original message is not mutated.
    message = "#{message}\n" unless message[-1] == "\n"
    if defined?(Imprint::Tracer)
      Imprint::Tracer.insert_trace_id_in_message(message, ActiveSupport::BufferedLogger::Severity.constants[severity])
    end
    buffer << message
    auto_flush
    message
  else
    # rails 3.2.x
    return if !level.nil? && (level > severity)
    message = (message || (block && block.call) || progname).to_s
    # If a newline is necessary then create a new message ending with a newline.
    # Ensures that the original message is not mutated.
    message = "#{message}\n" unless message[-1] == "\n"
    if defined?(Imprint::Tracer)
      Imprint::Tracer.insert_trace_id_in_message(message, ActiveSupport::BufferedLogger::Severity.constants[severity])
    end
    @log.add(severity, message, progname, &block)
  end
end