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 105
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 69
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 63
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 93
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 81
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 75
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 98
def respond_to?(method, include_private = false)
  @@logger.respond_to?(method)
end