class MovieOrganizer::Logger

Attributes

log_provider[RW]

Public Class Methods

new(provider = default_logger) click to toggle source
# File lib/movie_organizer/logger.rb, line 12
def initialize(provider = default_logger)
  @log_provider = provider
end

Public Instance Methods

log_exception(e, data = {}) click to toggle source
# File lib/movie_organizer/logger.rb, line 16
def log_exception(e, data = {})
  msg = "EXCEPTION : #{e.class.name} : #{e.message}"
  msg += "\n data : #{data.inspect}" if data && !data.empty?
  msg += "\n  #{e.backtrace[0, 6].join("\n  ")}"
  log_provider.error(msg)
end
method_missing(meth, *args, &block) click to toggle source
Calls superclass method
# File lib/movie_organizer/logger.rb, line 23
def method_missing(meth, *args, &block)
  if log_provider.respond_to?(meth)
    log_provider.send(meth, *args, &block)
  else
    super
  end
end
respond_to?(meth, include_private = false) click to toggle source
Calls superclass method
# File lib/movie_organizer/logger.rb, line 31
def respond_to?(meth, include_private = false)
  if log_provider.respond_to?(meth)
    true
  else
    super
  end
end

Private Instance Methods

default_logger() click to toggle source
# File lib/movie_organizer/logger.rb, line 41
def default_logger
  logger = ::Logger.new(STDOUT)
  logger.formatter = proc do |_, _, _, msg|
    "#{msg}\n"
  end
  logger
end