class Tracebin::RequestLogger

Public Class Methods

new(logger_override = nil) click to toggle source
# File lib/tracebin/logger.rb, line 3
def initialize(logger_override = nil)
  @logger_override = logger_override
end

Public Instance Methods

display_payload(payload) click to toggle source
# File lib/tracebin/logger.rb, line 7
def display_payload(payload)
  output = '=' * 50 + "\n"

  str_append_hash output, payload

  output += '=' * 50

  log output
end
str_append_hash(str, hsh, bumper = '') click to toggle source
# File lib/tracebin/logger.rb, line 17
def str_append_hash(str, hsh, bumper = '')
  hsh.keys.each do |key|
    if hsh[key].is_a? Hash
      str << "#{bumper}#{key}:\n"
      str_append_hash str, hsh[key], bumper + '  '
    elsif hsh[key].is_a? Array
      str << "#{bumper}#{key}:\n"
      hsh[key].each do |ele|
        if ele.is_a? Hash
          str_append_hash str, ele, bumper + '  '
        else
          str << "#{bumper}#{ele}\n"
        end
      end
    else
      str << "#{bumper}#{key}: #{hsh[key]}\n"
    end
  end

  str
end

Private Instance Methods

log(text) click to toggle source
# File lib/tracebin/logger.rb, line 45
def log(text)
  if !@logger_override.nil?
    @logger_override.info text
  elsif rails_app?
    Rails.logger.debug text
  else
    puts text
  end
end
rails_app?() click to toggle source
# File lib/tracebin/logger.rb, line 41
def rails_app?
  defined? ::Rails
end