class YleTf::System::OutputLogger

Attributes

level[R]

Public Class Methods

new(level) click to toggle source
# File lib/yle_tf/system/output_logger.rb, line 10
def initialize(level)
  @level = level.to_sym

  raise YleTf::Error, "Unknown log level '#{@level}'" if !level?(@level)
end

Public Instance Methods

call(io, progname) click to toggle source
# File lib/yle_tf/system/output_logger.rb, line 16
def call(io, progname)
  Thread.new do
    begin
      io.each { |line| log(progname, line.chomp) }
    rescue IOError => e
      YleTf::Logger.debug e.full_message
    end
  end
end
level?(level) click to toggle source
# File lib/yle_tf/system/output_logger.rb, line 26
def level?(level)
  YleTf::Logger::LEVELS.include?(level)
end
log(progname, line) click to toggle source
# File lib/yle_tf/system/output_logger.rb, line 30
def log(progname, line)
  YleTf::Logger.public_send(level, progname) { line }
end