class AppInsights::LoggerProxy
Public Class Methods
new(logger, ignore_log_level=false, telemetry_client=nil)
click to toggle source
# File lib/appinsights/logger_proxy.rb, line 14 def initialize(logger, ignore_log_level=false, telemetry_client=nil) @logger = logger @ignore_log_level = ignore_log_level @telemetry_client = telemetry_client %w(debug info warn error fatal unknown).each do |level| LoggerProxy.class_eval do define_method level.to_sym do |*args , &block| if !@ignore_log_level && !logger.send("#{level}?".to_sym) return true end msg = message(*args, &block) tc = @telemetry_client || AppInsights::Context.telemetry_client tc.track_trace(msg, @@severity_levels[level.to_sym]) @logger.send(level, msg, &block) end end end end
Protected Instance Methods
method_missing(name, *args, &block)
click to toggle source
# File lib/appinsights/logger_proxy.rb, line 37 def method_missing(name, *args, &block) @logger.send(name, *args, &block) end
Private Instance Methods
message(*args, &block)
click to toggle source
# File lib/appinsights/logger_proxy.rb, line 43 def message(*args, &block) if block_given? block.call else args = args.flatten.compact args = (args.count == 1 ? args[0] : args) args.is_a?(Proc) ? args.call : args end end