module LogBot

Log Helper

Public Class Methods

clock_time() click to toggle source

From Rack Time

# File lib/greenhat/logbot.rb, line 83
def self.clock_time
  Process.clock_gettime(Process::CLOCK_MONOTONIC)
end
color_level(level) click to toggle source
# File lib/greenhat/logbot.rb, line 27
def self.color_level(level)
  case level
  when :debug
    level.to_s.upcase.pastel(:bright_cyan)
  when :info
    level.to_s.upcase.pastel(:cyan)
  when :warn
    level.to_s.upcase.pastel(:yellow)
  when :error
    level.to_s.upcase.pastel(:bright_red)
  when :fatal
    level.to_s.upcase.pastel(:red)
  end
end
debug(name, message = nil, level = :debug) click to toggle source
# File lib/greenhat/logbot.rb, line 46
def self.debug(name, message = nil, level = :debug)
  output(name, message, level)
end
do(name, message = nil, level = nil) { || ... } click to toggle source
# File lib/greenhat/logbot.rb, line 62
def self.do(name, message = nil, level = nil)
  began_at = clock_time

  level ||= :info
  result = yield

  duration = (clock_time - began_at).round(3)

  output(name, message, level, duration)

  result
end
error(name, message = nil, level = :error) click to toggle source
# File lib/greenhat/logbot.rb, line 54
def self.error(name, message = nil, level = :error)
  output(name, message, level)
end
fatal(name, message = nil, level = :fatal) click to toggle source
# File lib/greenhat/logbot.rb, line 58
def self.fatal(name, message = nil, level = :fatal)
  output(name, message, level)
end
info(name, message = nil, level = :info) click to toggle source
# File lib/greenhat/logbot.rb, line 42
def self.info(name, message = nil, level = :info)
  output(name, message, level)
end
measure() { || ... } click to toggle source
# File lib/greenhat/logbot.rb, line 75
def self.measure
  began_at = clock_time
  result = yield
  duration = (clock_time - began_at).round(3)
  [result, duration]
end
output(name, message, level, duration = nil) click to toggle source
# File lib/greenhat/logbot.rb, line 8
def self.output(name, message, level, duration = nil)
  time = Time.now.to_s.pastel(:bright_black)
  output = time
  output += "  #{color_level(level)}"
  output += " - #{name.to_s.pastel(:bright_blue)} "
  output += "(#{duration.round(2)}) ".pastel(:magenta) if duration

  output += ' '
  if message
    output += case message
              when String then message
              else
                message.ai(settings)
              end
  end

  puts output unless ENV['TESTING'] || GreenHat::Cli.quiet
end
settings() click to toggle source

For Amazing Print

# File lib/greenhat/logbot.rb, line 4
def self.settings
  { ruby19_syntax: true, multiline: false }
end
warn(name, message = nil, level = :warn) click to toggle source
# File lib/greenhat/logbot.rb, line 50
def self.warn(name, message = nil, level = :warn)
  output(name, message, level)
end