module BarkingIguana::Logging
Constants
- VERSION
Public Class Methods
colours()
click to toggle source
# File lib/barking_iguana/logging.rb, line 22 def self.colours %i(red green yellow blue magenta cyan white) end
get_logger(for_instance)
click to toggle source
# File lib/barking_iguana/logging.rb, line 15 def self.get_logger for_instance Logger.new(default_target).tap do |l| l.level = default_level l.formatter = default_formatter(for_instance) end end
Private Class Methods
default_formatter(for_instance)
click to toggle source
# File lib/barking_iguana/logging.rb, line 26 def self.default_formatter for_instance name = for_instance.class.name id = for_instance.object_id label = "#{name}##{id}" @logger_index ||= 0 @logger_index += 1 colour = colours[@logger_index % colours.size] lambda do |severity, datetime, _progname, message| Term::ANSIColor.public_send colour, "#{datetime.iso8601(6)} #{label} #{severity.ljust(5)} #{message}\n" end end