Module: Kiev

Extended by:
Forwardable
Defined in:
lib/kiev/logger.rb,
lib/kiev/base.rb,
lib/kiev/json.rb,
lib/kiev/json.rb,
lib/kiev/rack.rb,
lib/kiev/test.rb,
lib/kiev/util.rb,
lib/kiev/kafka.rb,
lib/kiev/base52.rb,
lib/kiev/config.rb,
lib/kiev/hanami.rb,
lib/kiev/aws_sns.rb,
lib/kiev/que/job.rb,
lib/kiev/railtie.rb,
lib/kiev/sidekiq.rb,
lib/kiev/version.rb,
lib/kiev/httparty.rb,
lib/kiev/shoryuken.rb,
lib/kiev/request_id.rb,
lib/kiev/param_filter.rb,
lib/kiev/request_store.rb,
lib/kiev/context_reader.rb,
lib/kiev/request_logger.rb,
lib/kiev/rack/request_id.rb,
lib/kiev/subrequest_helper.rb,
lib/kiev/sidekiq/request_id.rb,
lib/kiev/rack/request_logger.rb,
lib/kiev/request_body_filter.rb,
lib/kiev/kafka/message_context.rb,
lib/kiev/sidekiq/request_store.rb,
lib/kiev/kafka/context_injector.rb,
lib/kiev/sidekiq/request_logger.rb,
lib/kiev/kafka/context_extractor.rb,
lib/kiev/request_body_filter/xml.rb,
lib/kiev/aws_sns/context_injector.rb,
lib/kiev/request_body_filter/json.rb,
lib/kiev/shoryuken/context_reader.rb,
lib/kiev/her_ext/client_request_id.rb,
lib/kiev/sidekiq/client_request_id.rb,
lib/kiev/rack/store_request_details.rb,
lib/kiev/request_body_filter/default.rb,
lib/kiev/request_body_filter/form_data.rb,
lib/kiev/sidekiq/store_request_details.rb,
lib/kiev/shoryuken/middleware/request_id.rb,
lib/kiev/shoryuken/middleware/request_store.rb,
lib/kiev/rack/silence_action_dispatch_logger.rb,
lib/kiev/shoryuken/middleware/message_tracer.rb,
lib/kiev/shoryuken/middleware/request_logger.rb,
lib/kiev/shoryuken/middleware/tree_path_suffix.rb,
lib/kiev/shoryuken/middleware/store_request_details.rb

Overview

Keep this class minimal and compatible with Ruby Logger. If you add custom methods to this class and they will be used by developer, it will be hard to swap this class with any other Logger implementation.

Defined Under Namespace

Modules: AwsSns, Base52, HTTParty, Hanami, HerExt, Kafka, Que, Rack, RequestBodyFilter, RequestId, RequestLogger, RequestStore, Shoryuken, Sidekiq, Test, Util Classes: Config, ContextReader, JSON, Logger, ParamFilter, Railtie, SubrequestHelper

Constant Summary collapse

EMPTY_OBJ =
{}.freeze
VERSION =
"4.8.1"

Class Method Summary collapse

Class Method Details

.[]=(name, value) ⇒ Object



50
51
52
53
# File 'lib/kiev/base.rb', line 50

def []=(name, value)
  RequestStore.store[:payload] ||= {}
  RequestStore.store[:payload][name] = value
end

.configObject



36
37
38
# File 'lib/kiev/base.rb', line 36

def config
  Config.instance
end

.configure {|Config.instance| ... } ⇒ Object

Yields:



32
33
34
# File 'lib/kiev/base.rb', line 32

def configure
  yield(Config.instance)
end

.error=(value) ⇒ Object



62
63
64
# File 'lib/kiev/base.rb', line 62

def error=(value)
  RequestStore.store[:error] = value
end

.event(log_name, data = EMPTY_OBJ, severity = log_level) ⇒ Object



40
41
42
# File 'lib/kiev/base.rb', line 40

def event(log_name, data = EMPTY_OBJ, severity = log_level)
  logger.log(severity, logged_data(data), log_name)
end

.payload(data) ⇒ Object

Raises:

  • (ArgumentError)


55
56
57
58
59
60
# File 'lib/kiev/base.rb', line 55

def payload(data)
  raise ArgumentError, "Hash expected" unless data.is_a?(Hash)

  RequestStore.store[:payload] ||= {}
  RequestStore.store[:payload].merge!(data)
end

.request_idObject Also known as: tracking_id



66
67
68
# File 'lib/kiev/base.rb', line 66

def request_id
  RequestStore.store[:tracking_id]
end