class TeeRb::LoggerTee

sends stdout to logger.info sends stderror to logger.error sends everything to STDOUT

Public Class Methods

new(logger) { || ... } click to toggle source
# File lib/teerb.rb, line 81
def initialize(logger)
  @stdout_tee      =  IODelegate.new(LoggerIODelegate.new(logger, :info) , STDOUT)
  @stderr_tee      =  IODelegate.new(LoggerIODelegate.new(logger, :error), STDERR)

  @original_stdout = $stdout
  @original_stderr = $stderr

  if block_given?
    enable
    yield
    disable
  end
end

Public Instance Methods

disable() click to toggle source
# File lib/teerb.rb, line 100
def disable
  $stdout = @original_stdout
  $stderr = @original_stderr
end
enable() click to toggle source
# File lib/teerb.rb, line 95
def enable
  $stdout = @stdout_tee
  $stderr = @stderr_tee
end