class SimplyGenius::Atmos::Logging::CaptureStream
Public Class Methods
new(logger_name, appender, stream, color=nil)
click to toggle source
Calls superclass method
# File lib/simplygenius/atmos/logging.rb, line 27 def initialize(logger_name, appender, stream, color=nil) super(stream) @color = stream.tty? && color ? color : nil @logger = ::Logging.logger[logger_name] @logger.appenders = [appender] @logger.additive = false end
Public Instance Methods
strip_color(str)
click to toggle source
# File lib/simplygenius/atmos/logging.rb, line 35 def strip_color(str) str.gsub(/\e\[\d+m/, '') end
write(data)
click to toggle source
Calls superclass method
# File lib/simplygenius/atmos/logging.rb, line 39 def write(data) @logger.info(strip_color(data)) if @color count = 0 d = data.lines.each do |l| cl = Kernel.send(:Rainbow, l).send(@color) count += super(cl) end return count else return super(data) end end