Class: TeeRb::LoggerTee

Inherits:
Object
  • Object
show all
Defined in:
lib/teerb.rb

Overview

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

Instance Method Summary collapse

Constructor Details

#initialize(logger) ⇒ LoggerTee

Returns a new instance of LoggerTee.



81
82
83
84
85
86
87
88
89
90
91
92
93
# 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

Instance Method Details

#disableObject



100
101
102
103
# File 'lib/teerb.rb', line 100

def disable
  $stdout = @original_stdout
  $stderr = @original_stderr
end

#enableObject



95
96
97
98
# File 'lib/teerb.rb', line 95

def enable
  $stdout = @stdout_tee
  $stderr = @stderr_tee
end