Class: LogStash::Outputs::SumoLogic::HeaderBuilder

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

Constant Summary collapse

CONTENT_TYPE =
"Content-Type"
CONTENT_TYPE_LOG =
"text/plain"
CONTENT_TYPE_GRAPHITE =
"application/vnd.sumologic.graphite"
CONTENT_TYPE_CARBON2 =
"application/vnd.sumologic.carbon2"
CONTENT_ENCODING =
"Content-Encoding"
CATEGORY_HEADER =
"X-Sumo-Category"
CATEGORY_HEADER_DEFAULT =
"Logstash"
HOST_HEADER =
"X-Sumo-Host"
NAME_HEADER =
"X-Sumo-Name"
NAME_HEADER_DEFAULT =
"logstash-output-sumologic"
CLIENT_HEADER =
"X-Sumo-Client"
CLIENT_HEADER_VALUE =
"logstash-output-sumologic"

Constants included from Common

Common::CARBON2, Common::DEFAULT_LOG_FORMAT, Common::DEFLATE, Common::GRAPHITE, Common::GZIP, Common::LOG_TO_CONSOLE, Common::METRICS_NAME_PLACEHOLDER, Common::STATS_TAG

Instance Method Summary collapse

Methods included from Common

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

Constructor Details

#initialize(config) ⇒ HeaderBuilder

Returns a new instance of HeaderBuilder.



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/logstash/outputs/sumologic/header_builder.rb', line 25

def initialize(config)
  
  @extra_headers = config["extra_headers"] ||= {}
  @source_category = config["source_category"] ||= CATEGORY_HEADER_DEFAULT
  @source_host = config["source_host"] ||= Socket.gethostname
  @source_name = config["source_name"] ||= NAME_HEADER_DEFAULT
  @metrics = config["metrics"]
  @fields_as_metrics = config["fields_as_metrics"]
  @metrics_format = (config["metrics_format"] ||= CARBON2).downcase
  @compress = config["compress"]
  @compress_encoding = config["compress_encoding"]

end

Instance Method Details

#buildObject

def initialize



39
40
41
42
43
44
# File 'lib/logstash/outputs/sumologic/header_builder.rb', line 39

def build()
  headers = build_common()
  headers[CATEGORY_HEADER] = @source_category unless @source_category.blank?
  append_content_header(headers)
  headers
end

#build_statsObject

def build



46
47
48
49
50
51
# File 'lib/logstash/outputs/sumologic/header_builder.rb', line 46

def build_stats()
  headers = build_common()
  headers[CATEGORY_HEADER] = "#{@source_category}.stats"
  headers[CONTENT_TYPE] = CONTENT_TYPE_CARBON2
  headers
end