Class: Datadog::Logging::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/logging/logger.rb

Defined Under Namespace

Classes: UserFormatter

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger, log_level: :info, user_formatter: UserFormatter) ⇒ Logger

Returns a new instance of Logger.



68
69
70
71
72
# File 'lib/datadog/logging/logger.rb', line 68

def initialize(logger, log_level: :info, user_formatter: UserFormatter)
  @logger = logger
  @log_level = validate_log_level(log_level)
  @user_formatter = user_formatter || UserFormatter
end

Instance Attribute Details

#loggerObject

Returns the value of attribute logger.



65
66
67
# File 'lib/datadog/logging/logger.rb', line 65

def logger
  @logger
end

#user_formatterObject

Returns the value of attribute user_formatter.



66
67
68
# File 'lib/datadog/logging/logger.rb', line 66

def user_formatter
  @user_formatter
end

Instance Method Details

#http_request(method:, path:, controller:, action:, response:, headers: {}, params: {}, request_id: SecureRandom.uuid, user: nil) ⇒ Object

rubocop:disable Metrics/ParameterLists



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/datadog/logging/logger.rb', line 75

def http_request(method:, path:, controller:, action:, response:, headers: {}, params: {},
                 request_id: SecureRandom.uuid, user: nil)
  logger.send(@log_level, {
                method:     method.to_s.upcase,
                path:       path,
                format:     headers['Accept'] || '*/*',
                controller: controller,
                action:     action,
                status:     response.code,
                request_id: request_id,
                headers:    headers,
                params:     parsed_params(params, headers),
                response:   parsed_response(response),
                user:       format_user(user)
              })
end