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