class Synapse::Logger

Constants

DEBUG
ERROR
FATAL
INFO
UNKNOWN
WARN

Attributes

level[RW]
progname[RW]

Public Class Methods

deferred_rebind(logger) click to toggle source
# File lib/synapse/logger.rb, line 9
def deferred_rebind logger
  @cache ||= []
  @cache << ->(target) { logger.rebind_to target }
end
new(dest) click to toggle source
# File lib/synapse/logger.rb, line 24
def initialize dest
  self.class.deferred_rebind self
  @messages = []
end
rebind(logger) click to toggle source
# File lib/synapse/logger.rb, line 4
def rebind logger
  @cache.each do |cached|
    cached.call logger
  end
end

Public Instance Methods

debug(message) click to toggle source
# File lib/synapse/logger.rb, line 32
def debug message
  _log :warn, message
end
error(message) click to toggle source
# File lib/synapse/logger.rb, line 41
def error message
  _log :error, message
end
fatal(message) click to toggle source
# File lib/synapse/logger.rb, line 44
def fatal message
  _log :fatal, message
end
info(message) click to toggle source
# File lib/synapse/logger.rb, line 35
def info message
  _log :warn, message
end
rebind_to(logger) click to toggle source
# File lib/synapse/logger.rb, line 28
def rebind_to logger
  @logger = logger
  replay
end
replay() click to toggle source
# File lib/synapse/logger.rb, line 50
def replay
  return unless @messages.is_a? Array
  @messages.each do |message|
    @logger.send(message.first,"#{@progname}: #{message.last}")
  end
  @messages=nil
end
unknown(message) click to toggle source
# File lib/synapse/logger.rb, line 47
def unknown message
  _log :unknown, message
end
warn(message) click to toggle source
# File lib/synapse/logger.rb, line 38
def warn message
  _log :warn, message
end

Private Instance Methods

_log(level, message) click to toggle source
# File lib/synapse/logger.rb, line 58
def _log level, message
  return @logger.send(level.to_sym,message) if @logger
  @messages << [level,message]
end