Class: LogStash::Outputs::SumoLogic::PayloadBuilder

Inherits:
Object
  • Object
show all
Includes:
Common
Defined in:
lib/logstash/outputs/sumologic/payload_builder.rb

Constant Summary collapse

TIMESTAMP_FIELD =
"@timestamp"
METRICS_NAME_TAG =
"metric"
JSON_PLACEHOLDER =
"%{@json}"
ALWAYS_EXCLUDED =
[ "@timestamp", "@version" ]

Constants included from Common

Common::CARBON2, Common::CATEGORY_HEADER, Common::CATEGORY_HEADER_DEFAULT, Common::CLIENT_HEADER, Common::CLIENT_HEADER_VALUE, Common::CONTENT_ENCODING, Common::CONTENT_TYPE, Common::CONTENT_TYPE_CARBON2, Common::CONTENT_TYPE_GRAPHITE, Common::CONTENT_TYPE_LOG, Common::DEFAULT_LOG_FORMAT, Common::DEFLATE, Common::GRAPHITE, Common::GZIP, Common::HOST_HEADER, Common::LOG_TO_CONSOLE, Common::METRICS_NAME_PLACEHOLDER, Common::NAME_HEADER, Common::NAME_HEADER_DEFAULT, Common::STATS_TAG, Common::STOP_TAG

Instance Method Summary collapse

Methods included from Common

#log_dbg, #log_err, #log_info, #log_warn, #set_logger

Constructor Details

#initialize(stats, config) ⇒ PayloadBuilder

Returns a new instance of PayloadBuilder.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/logstash/outputs/sumologic/payload_builder.rb', line 16

def initialize(stats, config)
  @stats = stats
  
  @format = config["format"] ||= DEFAULT_LOG_FORMAT
  @json_mapping = config["json_mapping"]

  @metrics = config["metrics"]
  @metrics_name = config["metrics_name"]
  @fields_as_metrics = config["fields_as_metrics"]
  @metrics_format = (config["metrics_format"] ||= CARBON2).downcase
  @intrinsic_tags = config["intrinsic_tags"] ||= {}
  @meta_tags = config["meta_tags"] ||= {}
  @fields_include = config["fields_include"] ||= []
  @fields_exclude = config["fields_exclude"] ||= []

end

Instance Method Details

#build(event) ⇒ Object

def initialize



33
34
35
36
37
38
39
40
# File 'lib/logstash/outputs/sumologic/payload_builder.rb', line 33

def build(event)
  payload = if @metrics || @fields_as_metrics
    build_metrics_payload(event)
  else
    build_log_payload(event)
  end
  payload
end