class PEROBS::ILogger
The ILogger
class is a singleton that provides a common logging mechanism to all objects. It exposes essentially the same interface as the Logger class, just as a singleton and extends fatal to raise an FatalError
exception.
Public Instance Methods
fatal(msg, &block)
click to toggle source
Print an error message via the Logger and raise a Fit4Ruby::Error. This method should be used to abort the program in case of program logic errors.
# File lib/perobs/Log.rb, line 110 def fatal(msg, &block) @@logger.fatal(msg, &block) raise FatalError, msg end
formatter=(f)
click to toggle source
Set Logger formatter. @param f [Proc]
# File lib/perobs/Log.rb, line 74 def formatter=(f) @@formatter = f end
level=(l)
click to toggle source
Set log level. @param l [Logger::WARN, Logger:INFO, etc]
# File lib/perobs/Log.rb, line 68 def level=(l) @@level = l end
method_missing(method, *args, &block)
click to toggle source
Pass all calls to unknown methods to the @@logger object.
# File lib/perobs/Log.rb, line 98 def method_missing(method, *args, &block) @@logger.send(method, *args, &block) end
open(io)
click to toggle source
Redirect all log messages to the given IO. @param io [IO] Output file descriptor
# File lib/perobs/Log.rb, line 86 def open(io) begin @@logger = Logger.new(io, *@@options) rescue IOError => e @@logger = Logger.new($stderr) $stderr.puts "Cannot open log file: #{e.message}" end @@logger.level = @@level @@logger.formatter = @@formatter end
options=(o)
click to toggle source
Set Logger options @param o [Array] Optional parameters for Logger.new().
# File lib/perobs/Log.rb, line 80 def options=(o) @@options = o end
respond_to?(method, include_private = false)
click to toggle source
Make it properly introspectable.
# File lib/perobs/Log.rb, line 103 def respond_to?(method, include_private = false) @@logger.respond_to?(method) end