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