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
The logger instance that will be used to log messages. If nil, nothing will be logged.
Public Instance Methods
Displays the result of yielding if the log level is Logger::DEBUG or greater.
# File lib/net/ssh/loggable.rb, line 25 def debug logger.add(Logger::DEBUG, nil, facility) { yield } if logger && logger.debug? end
Displays the result of yielding if the log level is Logger:ERROR or greater.
# File lib/net/ssh/loggable.rb, line 43 def error logger.add(Logger::ERROR, nil, facility) { yield } if logger && logger.error? end
Displays the result of yielding if the log level is Logger::FATAL or greater.
# File lib/net/ssh/loggable.rb, line 49 def fatal logger.add(Logger::FATAL, nil, facility) { yield } if logger && logger.fatal? end
Displays the result of yielding if the log level is Logger::INFO or greater.
# File lib/net/ssh/loggable.rb, line 31 def info logger.add(Logger::INFO, nil, facility) { yield } if logger && logger.info? end
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 37 def lwarn logger.add(Logger::WARN, nil, facility) { yield } if logger && logger.warn? end