Class: Alexandria::LogWrapper

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/alexandria/logging.rb

Overview

A wrapper around a Logger, which allows code to define the source once (in the wrapper’s initialization) and then call the log methods whithout needing to specify the source each time.

Instance Method Summary collapse

Constructor Details

#initialize(logger, source) ⇒ LogWrapper

Returns a new instance of LogWrapper.



74
75
76
77
# File 'lib/alexandria/logging.rb', line 74

def initialize(logger, source)
  @logger = logger
  @source = source
end

Instance Method Details

#<<(msg) ⇒ Object



81
82
83
84
85
86
87
88
89
# File 'lib/alexandria/logging.rb', line 81

def <<(msg)
  if msg.respond_to? :backtrace
    msg.backtrace.each { |line|
      @logger << "  #{line} \n"
    }
  else
    @logger << msg + "\n"
  end
end

#debug(progname = nil, &block) ⇒ Object



91
92
93
# File 'lib/alexandria/logging.rb', line 91

def debug(progname = nil, &block)
  @logger.debug(@source, progname, &block)
end

#error(progname = nil, &block) ⇒ Object



103
104
105
# File 'lib/alexandria/logging.rb', line 103

def error(progname = nil, &block)
  @logger.error(@source, progname, &block)
end

#fatal(progname = nil, &block) ⇒ Object



107
108
109
# File 'lib/alexandria/logging.rb', line 107

def fatal(progname = nil, &block)
  @logger.fatal(@source, progname, &block)
end

#info(progname = nil, &block) ⇒ Object



95
96
97
# File 'lib/alexandria/logging.rb', line 95

def info(progname = nil, &block)
  @logger.info(@source, progname, &block)
end

#warn(progname = nil, &block) ⇒ Object



99
100
101
# File 'lib/alexandria/logging.rb', line 99

def warn(progname = nil, &block)
  @logger.warn(@source, progname, &block)
end