class StackifyRubyAPM::Spies::LoggerSpy
Constants
- EXCEPTION
- NAME
- TYPE
Public Class Methods
get_log_context(severity, message, progname)
click to toggle source
create and return logger span context
# File lib/stackify_apm/spies/logger.rb, line 72 def self.get_log_context(severity, message, progname) ctx = nil begin log_message = '' exception = nil if message.nil? msg = progname else msg = message end case msg when ::String log_message = msg when ::Exception log_message = msg.message exception = "(#{ msg.class })\n#{ msg.backtrace.join("\n") if msg.backtrace }" else log_message = msg.inspect end ctx = Span::Context.new( CATEGORY: 'Log', SUBCATEGORY: 'Logger', LEVEL: severity || 'ANY', MESSAGE: log_message, PREFIX: 'TRUE' ) if exception ctx.EXCEPTION = exception end rescue Exception => e StackifyRubyAPM.agent.error "[LoggerSpy] Error: creating span context." StackifyRubyAPM.agent.error "[LoggerSpy] #{e.inspect}" end ctx end
Public Instance Methods
debug(progname = nil, &block)
click to toggle source
# File lib/stackify_apm/spies/logger.rb, line 21 def debug(progname = nil, &block) return debug_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('DEBUG', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do debug_without_apm(progname, &block) end end
error(progname = nil, &block)
click to toggle source
# File lib/stackify_apm/spies/logger.rb, line 45 def error(progname = nil, &block) return error_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('ERROR', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do error_without_apm(progname, &block) end end
fatal(progname = nil, &block)
click to toggle source
# File lib/stackify_apm/spies/logger.rb, line 53 def fatal(progname = nil, &block) return fatal_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('FATAL', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do fatal_without_apm(progname, &block) end end
info(progname = nil, &block)
click to toggle source
# File lib/stackify_apm/spies/logger.rb, line 29 def info(progname = nil, &block) return info_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('INFO', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do info_without_apm(progname, &block) end end
install()
click to toggle source
# File lib/stackify_apm/spies/logger.rb, line 12 def install Logger.class_eval do alias_method 'debug_without_apm', 'debug' alias_method 'info_without_apm', 'info' alias_method 'warn_without_apm', 'warn' alias_method 'error_without_apm', 'error' alias_method 'fatal_without_apm', 'fatal' alias_method 'unknown_without_apm', 'unknown' def debug(progname = nil, &block) return debug_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('DEBUG', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do debug_without_apm(progname, &block) end end def info(progname = nil, &block) return info_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('INFO', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do info_without_apm(progname, &block) end end def warn(progname = nil, &block) return warn_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('WARN', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do warn_without_apm(progname, &block) end end def error(progname = nil, &block) return error_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('ERROR', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do error_without_apm(progname, &block) end end def fatal(progname = nil, &block) return fatal_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('FATAL', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do fatal_without_apm(progname, &block) end end def unknown(progname = nil, &block) return unknown_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('UNKNOWN', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do unknown_without_apm(progname, &block) end end end end
unknown(progname = nil, &block)
click to toggle source
# File lib/stackify_apm/spies/logger.rb, line 61 def unknown(progname = nil, &block) return unknown_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('UNKNOWN', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do unknown_without_apm(progname, &block) end end
warn(progname = nil, &block)
click to toggle source
# File lib/stackify_apm/spies/logger.rb, line 37 def warn(progname = nil, &block) return warn_without_apm(progname, &block) unless StackifyRubyAPM.current_transaction ctx = StackifyRubyAPM::Spies::LoggerSpy.get_log_context('WARN', nil, progname, &block) StackifyRubyAPM.span NAME, TYPE, context: ctx do warn_without_apm(progname, &block) end end