class AfterDo::Logging::Aspect
Attributes
logger[R]
target_class[R]
Public Class Methods
new(target_class, logger = AfterDo::Logging.logger)
click to toggle source
# File lib/after_do/logging/aspect.rb, line 4 def initialize(target_class, logger = AfterDo::Logging.logger) @target_class = target_class @logger = logger end
Public Instance Methods
log_finish(target_method)
click to toggle source
# File lib/after_do/logging/aspect.rb, line 17 def log_finish(target_method) target_class.after target_method do |*args, object| method = "#{target_class}##{target_method}" log_step('Finished', object, method, args) end end
log_start(target_method)
click to toggle source
# File lib/after_do/logging/aspect.rb, line 9 def log_start(target_method) target_class.before target_method do |*args, object| method = "#{target_class}##{target_method}" log_step('Started', object, method, args) end end
Private Instance Methods
id(object)
click to toggle source
# File lib/after_do/logging/aspect.rb, line 37 def id(object) "[id=#{object.id}]" if object.respond_to?(:id) end
log_step(prefix, object, method, args)
click to toggle source
# File lib/after_do/logging/aspect.rb, line 31 def log_step(prefix, object, method, args) arg_text = args.map(&:inspect).join(', ') msg = "[Time=#{Time.now}][Thread=#{Thread.current.object_id}]#{prefix}#{id(object)}: #{method}(#{arg_text})" logger.info(msg) end