module Turnstile::Logger::Provider
Attributes
enabled[RW]
logger[RW]
Public Instance Methods
disable()
click to toggle source
# File lib/turnstile/logger/provider.rb, line 20 def disable self.enabled = false class << self self.send(:define_method, :log, proc { |_| }) self.send(:define_method, :logging, proc { |_, &block| block.call }) end end
enable()
click to toggle source
# File lib/turnstile/logger/provider.rb, line 11 def enable self.enabled = true class << self self.send(:define_method, :log, proc { |level = :info, msg| _log(level, msg) }) self.send(:define_method, :logging, proc { |level = :info, msg, &block| _logging(level, msg, &block) }) end end
log(*)
click to toggle source
# File lib/turnstile/logger/provider.rb, line 29 def log(*) # no op end
logging(*)
click to toggle source
# File lib/turnstile/logger/provider.rb, line 34 def logging(*) # No op end
Private Instance Methods
_log(level = :info, msg)
click to toggle source
# File lib/turnstile/logger/provider.rb, line 41 def _log(level = :info, msg) logger.send(level) do "#{sprintf('%-15s', Thread.current[:name] || 'thread-main')} | #{msg}" end end
_logging(level = :info, *args) { || ... }
click to toggle source
# File lib/turnstile/logger/provider.rb, line 48 def _logging(level = :info, *args, &_block) message = args.join(' ') log(level, message) unless block_given? return unless block_given? start = Time.now yield.tap do |result| elapsed_time = Time.now - start if result message += " #{result.to_s}" end log_elapsed(level, elapsed_time, message) end