module NewRelic::Agent::LocalLogDecorator
This module contains helper methods related to decorating log messages
Public Instance Methods
decorate(message)
click to toggle source
# File lib/new_relic/agent/local_log_decorator.rb, line 11 def decorate(message) return message unless decorating_enabled? metadata = NewRelic::Agent.linking_metadata if message.is_a?(Hash) message.merge!(metadata) unless message.frozen? return end formatted_metadata = " NR-LINKING|#{metadata[ENTITY_GUID_KEY]}|#{metadata[HOSTNAME_KEY]}|" \ "#{metadata[TRACE_ID_KEY]}|#{metadata[SPAN_ID_KEY]}|" \ "#{escape_entity_name(metadata[ENTITY_NAME_KEY])}|" message.partition("\n").insert(1, formatted_metadata).join end
Private Instance Methods
decorating_enabled?()
click to toggle source
# File lib/new_relic/agent/local_log_decorator.rb, line 30 def decorating_enabled? NewRelic::Agent.config[:'application_logging.enabled'] && (NewRelic::Agent::Instrumentation::Logger.enabled? || NewRelic::Agent::Instrumentation::LogStasher.enabled?) && NewRelic::Agent.config[:'application_logging.local_decorating.enabled'] end
escape_entity_name(entity_name)
click to toggle source
# File lib/new_relic/agent/local_log_decorator.rb, line 37 def escape_entity_name(entity_name) return unless entity_name URI::DEFAULT_PARSER.escape(entity_name) end