module Net::SSH::Loggable

  1. lib/net/ssh/loggable.rb
Parent: SSH

A simple module to make logging easier to deal with. It assumes that the logger instance (if not nil) quacks like a Logger object (in Ruby's standard library). Although used primarily internally by Net::SSH, it can easily be used to add Net::SSH-like logging to your own programs.

class MyClass
  include Net::SSH::Loggable
end
Net::SSH.start(...) do |ssh|
  obj = MyClass.new
  obj.logger = ssh.logger
  ...
end

Methods

Public Instance

  1. debug
  2. error
  3. fatal
  4. info
  5. logger
  6. lwarn

Attributes

logger [RW]

The logger instance that will be used to log messages. If nil, nothing will be logged.

Public Instance methods

debug ()

Displays the result of yielding if the log level is Logger::DEBUG or greater.

[show source]
# File lib/net/ssh/loggable.rb, line 24
def debug
  logger.add(Logger::DEBUG, nil, facility) { yield } if logger && logger.debug?
end
error ()

Displays the result of yielding if the log level is Logger:ERROR or greater.

[show source]
# File lib/net/ssh/loggable.rb, line 42
def error
  logger.add(Logger::ERROR, nil, facility) { yield } if logger && logger.error?
end
fatal ()

Displays the result of yielding if the log level is Logger::FATAL or greater.

[show source]
# File lib/net/ssh/loggable.rb, line 48
def fatal
  logger.add(Logger::FATAL, nil, facility) { yield } if logger && logger.fatal?
end
info ()

Displays the result of yielding if the log level is Logger::INFO or greater.

[show source]
# File lib/net/ssh/loggable.rb, line 30
def info
  logger.add(Logger::INFO, nil, facility) { yield } if logger && logger.info?
end
lwarn ()

Displays the result of yielding if the log level is Logger::WARN or greater. (Called lwarn to avoid shadowing with Kernel#warn.)

[show source]
# File lib/net/ssh/loggable.rb, line 36
def lwarn
  logger.add(Logger::WARN, nil, facility) { yield } if logger && logger.warn?
end