Class: Vigilant::StderrInterceptor

Inherits:
Object
  • Object
show all
Defined in:
lib/vigilant-ruby/logger.rb

Overview

Interceptor for capturing stderr

Instance Method Summary collapse

Constructor Details

#initialize(logger, original) ⇒ StderrInterceptor

Returns a new instance of StderrInterceptor.



224
225
226
227
# File 'lib/vigilant-ruby/logger.rb', line 224

def initialize(logger, original)
  @logger   = logger
  @original = original
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(meth, *args, &blk) ⇒ Object



270
271
272
# File 'lib/vigilant-ruby/logger.rb', line 270

def method_missing(meth, *args, &blk)
  @original.send(meth, *args, &blk)
end

Instance Method Details

#closeObject



258
259
260
# File 'lib/vigilant-ruby/logger.rb', line 258

def close
  @original.close
end

#flushObject



254
255
256
# File 'lib/vigilant-ruby/logger.rb', line 254

def flush
  @original.flush
end


241
242
243
244
245
246
# File 'lib/vigilant-ruby/logger.rb', line 241

def print(*messages)
  messages.each do |m|
    @logger.error(m.to_s.strip, nil, _autocapture: true) unless m.to_s.strip.empty?
  end
  @original.print(*messages)
end

#printf(*args) ⇒ Object



248
249
250
251
252
# File 'lib/vigilant-ruby/logger.rb', line 248

def printf(*args)
  formatted = sprintf(*args)
  @logger.error(formatted.strip, nil, _autocapture: true) unless formatted.strip.empty?
  @original.printf(*args)
end

#puts(*messages) ⇒ Object



234
235
236
237
238
239
# File 'lib/vigilant-ruby/logger.rb', line 234

def puts(*messages)
  messages.each do |m|
    @logger.error(m.to_s.strip, nil, _autocapture: true) unless m.to_s.strip.empty?
  end
  @original.puts(*messages)
end

#respond_to_missing?(meth, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


266
267
268
# File 'lib/vigilant-ruby/logger.rb', line 266

def respond_to_missing?(meth, include_private = false)
  @original.respond_to?(meth, include_private)
end

#tty?Boolean

Returns:

  • (Boolean)


262
263
264
# File 'lib/vigilant-ruby/logger.rb', line 262

def tty?
  @original.tty?
end

#write(message) ⇒ Object



229
230
231
232
# File 'lib/vigilant-ruby/logger.rb', line 229

def write(message)
  @logger.error(message.strip, nil, _autocapture: true) unless message.strip.empty?
  @original.write(message)
end