class Hookit::Logger

Attributes

log_file[R]
log_level[R]

Public Class Methods

new(file, level) click to toggle source
# File lib/hookit/logger.rb, line 7
def initialize(file, level)
  @log_file  = file   || '/var/log/hookit/hookit.log'
  @log_level = level  || :error
  ::FileUtils.mkdir_p(File.dirname(@log_file))
end

Public Instance Methods

debug(message) click to toggle source
# File lib/hookit/logger.rb, line 38
def debug(message)
  log! "[debug]: #{message}\n"
end
error(message) click to toggle source
# File lib/hookit/logger.rb, line 26
def error(message)
  log! "[error]: #{message}\n"
end
info(message) click to toggle source
# File lib/hookit/logger.rb, line 34
def info(message)
  log! "[info]: #{message}\n"
end
log(level, message) click to toggle source
# File lib/hookit/logger.rb, line 13
def log(level, message)

  if not message
    message = level
    level   = :error
  end

  if level_to_int(level) <= level_to_int(log_level)
    send(level, message)
  end

end
warn(message) click to toggle source
# File lib/hookit/logger.rb, line 30
def warn(message)
  log! "[warn]: #{message}\n"
end

Protected Instance Methods

level_to_int(level) click to toggle source
# File lib/hookit/logger.rb, line 50
def level_to_int(level)
  case level
  when :error then 1
  when :warn  then 2
  when :info  then 3
  when :debug then 4
  end
end
log!(message) click to toggle source
# File lib/hookit/logger.rb, line 44
def log!(message)
  File.open log_file, 'a'  do |f| 
    f.write message
  end
end