Sha256: 7a665525ae2689c56176741a89db3713ffe9f0f4b44ce9d25afc54f8b56fb26c
Contents?: true
Size: 1005 Bytes
Versions: 2
Compression:
Stored size: 1005 Bytes
Contents
module Paraduct class ColoredLabelLogger < ::Logger def initialize(label_name, logdev = STDOUT) super(logdev) color = Paraduct::ColoredLabelLogger.next_color @label = "[#{label_name.to_s.colorize(color)}]" @formatter = ActiveSupport::Logger::SimpleFormatter.new end [:debug, :info, :warn, :error, :fatal].each do |severity| define_method "#{severity}_with_label" do |message| message.each_line do |line| send "#{severity}_without_label", "#{@label} #{line.strip}" unless line.blank? end end alias_method_chain severity, :label end COLORS = [ :cyan, :yellow, :green, :magenta, :red, :blue, :light, :cyan, :light_yellow, :light_green, :light_magenta, :light_red, :light_blue, ] def self.next_color @@color_index ||= -1 @@color_index = (@@color_index + 1) % COLORS.length COLORS[@@color_index] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
paraduct-0.0.1.beta13 | lib/paraduct/colored_label_logger.rb |
paraduct-0.0.1.beta12 | lib/paraduct/colored_label_logger.rb |