Sha256: c5d00732f56900d29d12a9e91a1da7b7e94bb75d925ea0ea38992c21c043db95

Contents?: true

Size: 855 Bytes

Versions: 5

Compression:

Stored size: 855 Bytes

Contents

require 'contextualized_logs'
require 'json'

module ContextualizedLogs
  configure do |config|
    config.log_formatter = proc do |severity, timestamp, progname, msg|
      log = ContextualizedLogger.default_formatter.call(severity, timestamp, progname, msg)
      log = JSON.parse(log)
      # set log <> APM trace correlation
      datadog_correlation = Datadog.tracer.active_correlation
      log.merge!(
        dd: {
          trace_id: datadog_correlation.trace_id,
          span_id: datadog_correlation.span_id
        },
        ddsource: ['ruby']
      )
      # log.to_json + "\n"
      # for local debug, dump log in JSON pretty format
      JSON.pretty_generate(log) + "\n"
    end
    config.controller_default_contextualizer = proc do |controller|
      ContextualizedController.default_contextualize_request(controller)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
contextualized_logs-0.0.8.pre.alpha config/initializers/contextualized_logs.rb
contextualized_logs-0.0.7.pre.alpha config/initializers/contextualized_logs.rb
contextualized_logs-0.0.6.pre.alpha config/initializers/contextualized_logs.rb
contextualized_logs-0.0.5.pre.alpha config/initializers/contextualized_logs.rb
contextualized_logs-0.0.4.pre.demo config/initializers/contextualized_logs.rb