class MicroLogger

Constants

DEFAULT_HANDLERS
VERSION

Public Instance Methods

log(message, level = :info, extra = {}) click to toggle source
# File lib/micrologger.rb, line 18
def log(message, level = :info, extra = {})
  trigger level, message, {level: level, time: Time.now}.merge(extra)
end
register(level = :info, handler = nil, &block) click to toggle source
# File lib/micrologger.rb, line 22
def register(level = :info, handler = nil, &block)
  bind level, &resolve_handler(handler || block)
end
unregister(level = :info, handler = nil, &block) click to toggle source
# File lib/micrologger.rb, line 26
def unregister(level = :info, handler = nil, &block)
  if handler || block
    unbind level, &resolve_handler(handler || block)
  else
    unbind level
  end
end

Private Instance Methods

formatter(message, extra) click to toggle source
# File lib/micrologger.rb, line 47
def formatter(message, extra)
  "#{extra[:time].strftime('%Y-%m-%d %H:%M')} | #{extra[:level]} | #{message}"
end
resolve_handler(handler) click to toggle source
# File lib/micrologger.rb, line 37
def resolve_handler(handler)
  if handler.is_a?(Proc)
    handler
  elsif default_handler = DEFAULT_HANDLERS[handler]
    default_handler
  else
    raise ArgumentError, "no suitable handler found for #{handler.inspect}"
  end
end