module Blab::Tracer
Constants
- C_CALLS
- FILE_NAME
Public Instance Methods
reset()
click to toggle source
# File lib/blab/tracer.rb, line 10 def reset printer.reset_files @defined_vars = {} end
trace()
click to toggle source
# File lib/blab/tracer.rb, line 15 def trace proc do |event, file, line, method_name, context, class_name| next if file =~ FILE_NAME next if skip_c_calls? && C_CALLS.include?(event) next if original_scope_only? && !original_scope?(file, method_name, class_name) context.local_variables.each do |v| next unless context.local_variable_defined?(v) val = context.local_variable_get(v) old_v = defined_vars[v] next if val == old_v formatted_output(v, val) defined_vars[v] = val end printer.print( time: Time.now.strftime(datetime_format), event: event, file: file, line: line, method_name: method_name.to_s, class_name: class_name.to_s ) end end
Private Instance Methods
datetime_format()
click to toggle source
# File lib/blab/tracer.rb, line 54 def datetime_format Blab::Config.datetime_format end
defined_vars()
click to toggle source
# File lib/blab/tracer.rb, line 66 def defined_vars @defined_vars ||= {} end
formatted_output(key, val)
click to toggle source
# File lib/blab/tracer.rb, line 58 def formatted_output(key, val) logger.info("Var......... #{key}=#{formatter.format(val)}") end
formatter()
click to toggle source
# File lib/blab/tracer.rb, line 62 def formatter @formatter ||= Blab::Formatter.new end
logger()
click to toggle source
# File lib/blab/tracer.rb, line 50 def logger Blab::Config.logger end
original_scope?(file, method_name, class_name)
click to toggle source
# File lib/blab/tracer.rb, line 78 def original_scope?(file, method_name, class_name) @original_file ||= file @original_method_name ||= method_name @orinal_class_name ||= class_name @original_file == file && @original_method_name == method_name && @orinal_class_name == class_name end
original_scope_only?()
click to toggle source
# File lib/blab/tracer.rb, line 70 def original_scope_only? Blab::Config.original_scope_only? end
printer()
click to toggle source
# File lib/blab/tracer.rb, line 46 def printer @printer ||= Printer.new(Blab::Config.output_config, logger) end
skip_c_calls?()
click to toggle source
# File lib/blab/tracer.rb, line 74 def skip_c_calls? !Blab::Config.trace_c_calls? end