module Provisioner::Logger

Public Class Methods

disable() click to toggle source
# File lib/provisioner/logger.rb, line 12
def disable
  class << self
    self.send(:define_method, :log, proc { |msg|})
    self.send(:define_method, :logging, proc { |msg, &block| block.call })
  end
end
enable() click to toggle source
# File lib/provisioner/logger.rb, line 5
def enable
  class << self
    self.send(:define_method, :log, proc { |msg| _log(msg) })
    self.send(:define_method, :logging, proc { |msg, &block| _logging(msg, &block) })
  end
end
log(msg) click to toggle source
# File lib/provisioner/logger.rb, line 19
def log(msg)
end
logging(msg, &block) click to toggle source
# File lib/provisioner/logger.rb, line 22
def logging(msg, &block)
  block.call
end

Private Class Methods

_log(msg) click to toggle source
# File lib/provisioner/logger.rb, line 28
def _log(msg)
  puts "#{Time.now}: #{sprintf("%-20s", Thread.current[:name])} - #{msg}"
end
_logging(message) { || ... } click to toggle source
# File lib/provisioner/logger.rb, line 32
def _logging(message, &block)
  start = Time.now
  returned_from_block = yield
  elapsed_time = Time.now - start
  if returned_from_block.is_a?(String) && returned_from_block != ""
    message += " - #{returned_from_block}"
  end
  log "(#{"%9.2f" % (1000 * elapsed_time)}ms) #{message}"
  returned_from_block
rescue Exception => e
  elapsed_time = Time.now - start
  log "(#{"%9.2f" % (1000 * elapsed_time)}ms) error: #{e.message} for #{message} "
end