fluent-plugin-sumologic_output 1.7.1 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/fluent-plugin-sumologic_output.gemspec +1 -1
- data/lib/fluent/plugin/out_sumologic.rb +15 -8
- data/test/plugin/test_out_sumologic.rb +43 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3bf755e8ecd488457805d948614c43b3657de815889dd341091d11f338ad995
|
4
|
+
data.tar.gz: 20163f7c5ac543a010e53fce506dbaed10bafe5d46830579a3101558f5b61fa4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35cf3af9a561fd22e810dea880570007613b7cb9ae87307dd46ea3ff8d9e005b96c9ebf19f1aafd58b6ae4495509f51406b7788029f7fb26144f54b60f22370a
|
7
|
+
data.tar.gz: 6b5e6a13ed50d798c4c0f8225e771a2c5977373373aed316cbe1a5369a2af22aef56c86e474aefd6ca847e41c496c287a191c23c1224d2a49075794b420949e4
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |gem|
|
6
6
|
gem.name = "fluent-plugin-sumologic_output"
|
7
|
-
gem.version = "1.7.
|
7
|
+
gem.version = "1.7.2"
|
8
8
|
gem.authors = ["Steven Adams", "Frank Reno"]
|
9
9
|
gem.email = ["stevezau@gmail.com", "frank.reno@me.com"]
|
10
10
|
gem.description = %q{Output plugin to SumoLogic HTTP Endpoint}
|
@@ -293,6 +293,19 @@ class Fluent::Plugin::Sumologic < Fluent::Plugin::Output
|
|
293
293
|
time.to_s.length == 13 ? time : time * 1000
|
294
294
|
end
|
295
295
|
|
296
|
+
# Convert log to string and strip it
|
297
|
+
def log_to_str(log)
|
298
|
+
if log.is_a?(Array) or log.is_a?(Hash)
|
299
|
+
log = Yajl.dump(log)
|
300
|
+
end
|
301
|
+
|
302
|
+
unless log.nil?
|
303
|
+
log.strip!
|
304
|
+
end
|
305
|
+
|
306
|
+
return log
|
307
|
+
end
|
308
|
+
|
296
309
|
# This method is called every flush interval. Write the buffer chunk
|
297
310
|
def write(chunk)
|
298
311
|
messages_list = {}
|
@@ -313,10 +326,7 @@ class Fluent::Plugin::Sumologic < Fluent::Plugin::Output
|
|
313
326
|
when 'logs'
|
314
327
|
case log_format
|
315
328
|
when 'text'
|
316
|
-
log = record[@log_key]
|
317
|
-
unless log.nil?
|
318
|
-
log.strip!
|
319
|
-
end
|
329
|
+
log = log_to_str(record[@log_key])
|
320
330
|
when 'json_merge'
|
321
331
|
if @add_timestamp
|
322
332
|
record = { @timestamp_key => sumo_timestamp(time) }.merge(record)
|
@@ -334,10 +344,7 @@ class Fluent::Plugin::Sumologic < Fluent::Plugin::Output
|
|
334
344
|
log = dump_log(record)
|
335
345
|
end
|
336
346
|
when 'metrics'
|
337
|
-
log = record[@log_key]
|
338
|
-
unless log.nil?
|
339
|
-
log.strip!
|
340
|
-
end
|
347
|
+
log = log_to_str(record[@log_key])
|
341
348
|
end
|
342
349
|
|
343
350
|
unless log.nil?
|
@@ -671,4 +671,46 @@ class SumologicOutput < Test::Unit::TestCase
|
|
671
671
|
times:1
|
672
672
|
end
|
673
673
|
|
674
|
-
|
674
|
+
def test_emit_text_from_array
|
675
|
+
config = %{
|
676
|
+
endpoint https://collectors.sumologic.com/v1/receivers/http/1234
|
677
|
+
log_format text
|
678
|
+
source_category test
|
679
|
+
source_host test
|
680
|
+
source_name test
|
681
|
+
|
682
|
+
}
|
683
|
+
driver = create_driver(config)
|
684
|
+
time = event_time
|
685
|
+
stub_request(:post, 'https://collectors.sumologic.com/v1/receivers/http/1234')
|
686
|
+
driver.run do
|
687
|
+
driver.feed("output.test", time, {'foo' => 'bar', 'message' => ['test', 'test2']})
|
688
|
+
end
|
689
|
+
assert_requested :post, "https://collectors.sumologic.com/v1/receivers/http/1234",
|
690
|
+
headers: {'X-Sumo-Category'=>'test', 'X-Sumo-Client'=>'fluentd-output', 'X-Sumo-Host'=>'test', 'X-Sumo-Name'=>'test'},
|
691
|
+
body: '["test","test2"]',
|
692
|
+
times:1
|
693
|
+
end
|
694
|
+
|
695
|
+
def test_emit_text_from_dict
|
696
|
+
config = %{
|
697
|
+
endpoint https://collectors.sumologic.com/v1/receivers/http/1234
|
698
|
+
log_format text
|
699
|
+
source_category test
|
700
|
+
source_host test
|
701
|
+
source_name test
|
702
|
+
|
703
|
+
}
|
704
|
+
driver = create_driver(config)
|
705
|
+
time = event_time
|
706
|
+
stub_request(:post, 'https://collectors.sumologic.com/v1/receivers/http/1234')
|
707
|
+
driver.run do
|
708
|
+
driver.feed("output.test", time, {'foo' => 'bar', 'message' => {'test': 'test2', 'test3': 'test4'}})
|
709
|
+
end
|
710
|
+
assert_requested :post, "https://collectors.sumologic.com/v1/receivers/http/1234",
|
711
|
+
headers: {'X-Sumo-Category'=>'test', 'X-Sumo-Client'=>'fluentd-output', 'X-Sumo-Host'=>'test', 'X-Sumo-Name'=>'test'},
|
712
|
+
body: '{"test":"test2","test3":"test4"}',
|
713
|
+
times:1
|
714
|
+
end
|
715
|
+
|
716
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-sumologic_output
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Adams
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-
|
12
|
+
date: 2020-11-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -134,8 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
134
|
- !ruby/object:Gem::Version
|
135
135
|
version: '0'
|
136
136
|
requirements: []
|
137
|
-
|
138
|
-
rubygems_version: 2.7.7
|
137
|
+
rubygems_version: 3.0.8
|
139
138
|
signing_key:
|
140
139
|
specification_version: 4
|
141
140
|
summary: Output plugin to SumoLogic HTTP Endpoint
|