Sha256: 4e0929340df2ada73107a8d24e4bacd1938fa14e2a9ed17bfb79257242d21679
Contents?: true
Size: 1002 Bytes
Versions: 3
Compression:
Stored size: 1002 Bytes
Contents
module Paraduct class ColoredLabelLogger < ::Logger def initialize(label_name, logdev = STDOUT) super(logdev) color = Paraduct::ColoredLabelLogger.next_color @formatter = Formatter.new(label_name, color) 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 class Formatter def initialize(label_name, color) @label = "[#{label_name.to_s.colorize(color)}]" end def call(severity, datetime, progname, message) return "" if message.blank? content = "" message.each_line do |line| content << "#{datetime} #{@label} #{line.strip}\n" end content end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
paraduct-1.0.0.beta6 | lib/paraduct/colored_label_logger.rb |
paraduct-1.0.0.beta5 | lib/paraduct/colored_label_logger.rb |
paraduct-1.0.0.beta4 | lib/paraduct/colored_label_logger.rb |