module BibSync::Log

Constants

Blue
Level
Red
Reset
Yellow

Attributes

level[RW]
trace[RW]

Public Instance Methods

log(level, message, opts = {}) click to toggle source
# File lib/bibsync/log.rb, line 29
def log(level, message, opts = {})
  return if Level.keys.index(level) < Level.keys.index(Log.level)
  message = "#{message} - #{opts[:ex].message}" if opts[:ex]
  message = "#{Level[level]}#{message}#{Reset}" if Level[level]
  if key = opts[:key]
    key = key.key if key.respond_to? :key
    message = "#{key} : #{message}"
  end
  puts(message)
  if Log.trace && ex = opts[:ex]
    puts(ex.backtrace.join("\n"))
  end
end