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