Module: Datadog::Contrib::SemanticLogger::Instrumentation::InstanceMethods
- Defined in:
- lib/ddtrace/contrib/semantic_logger/instrumentation.rb
Overview
Instance methods for configuration
Instance Method Summary collapse
Instance Method Details
#log(log, message = nil, progname = nil, &block) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/ddtrace/contrib/semantic_logger/instrumentation.rb', line 13 def log(log, = nil, progname = nil, &block) = log. || {} # Retrieves trace information for current thread correlation = Datadog.tracer.active_correlation # merge original lambda with datadog context datadog_trace_log_hash = { # Adds IDs as tags to log output dd: { # To preserve precision during JSON serialization, use strings for large numbers trace_id: correlation.trace_id.to_s, span_id: correlation.span_id.to_s, env: correlation.env.to_s, service: correlation.service.to_s, version: correlation.version.to_s }, ddsource: ['ruby'] } # # if the user already has conflicting log_tags # # we want them to clobber ours, because we should allow them to override # # if needed. log. = datadog_trace_log_hash.merge() super(log, , progname, &block) end |