module NewrelicLoggerExtension
require ‘newrelic_rpm’
Constants
- SEPARATOR
- VERSION
Public Class Methods
inject_logger(logger, level = 'warn')
click to toggle source
# File lib/newrelic_logger_extension.rb, line 7 def self.inject_logger(logger, level = 'warn') return unless logger.respond_to? level.to_sym inject_servity_method(logger, level) inject_shared_methods(logger) unless logger.respond_to? :log_to_newrelic end
inject_servity_method(logger, level)
click to toggle source
# File lib/newrelic_logger_extension.rb, line 12 def self.inject_servity_method(logger, level) logger.singleton_class.class_eval do define_method("#{level}_with_newrelic") do |*args| send("#{level}_without_newrelic", *args) log_to_newrelic level.capitalize, binding.of_caller(1).eval('self') end alias_method "#{level}_without_newrelic", level alias_method level, "#{level}_with_newrelic" end end
Public Instance Methods
log_to_newrelic(category, caller_class)
click to toggle source
# File lib/newrelic_logger_extension.rb, line 25 def log_to_newrelic(category, caller_class) caller_class = caller_class.class unless caller_class.class.to_s == 'Class' ::NewRelic::Agent.increment_metric("Custom/#{category}/#{caller_class}") end