class Rookout::Logger::LogRecord

Attributes

arguments[R]
filename[R]
formatted_message[R]
level[R]
lineno[R]
message[R]
time[R]

Public Class Methods

new(level, message, arguments) click to toggle source
# File lib/rookout/logger.rb, line 61
def initialize level, message, arguments
  @level = level
  @time = Time.new
  @message = message
  @formatted_message = @message % arguments

  arguments.each do |argument|
    if argument.is_a? Exception
      @formatted_message += "\n" + argument.message + "\n" + argument.backtrace.join("\n\t")
    end
  end

  @arguments = arguments
  set_caller
end

Public Instance Methods

format() click to toggle source
# File lib/rookout/logger.rb, line 79
def format
  "#{@time} #{Process.pid}:#{Thread.current.name}-" \
    "#{File.basename @filename}:#{@label}@#{lineno} - #{@level} - #{formatted_message}"
end

Private Instance Methods

set_caller() click to toggle source
# File lib/rookout/logger.rb, line 86
def set_caller
  @filename = nil
  @lineno = nil
  @label = nil

  caller_locations(4, 7).each do |caller|
    next if caller.absolute_path.end_with? "lib/rookout/logger.rb"

    @filename = caller.path
    @lineno = caller.lineno
    @label = caller.label
    break
  end
end