module Net::SSH::Loggable

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

Attributes

logger[RW]

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

Public Instance Methods

debug() { || ... } click to toggle source

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

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

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

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

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

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

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

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

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

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