fluent-plugin-cloudwatch-logs 0.8.1.1 → 0.8.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa86963bdf4ec3faf83caed90ad1ab437ea2991d97e793d50a2e507e9ff0c1af
|
4
|
+
data.tar.gz: 4add147b77a03c2296469b21b188882a105d7736f5a576a6331aac9d266e4e34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7372c750e2947bf4b872b1f3f53c19494ed136274d0b9443f21ae32c8595e9d30968aae30a82a375a48ce6e7d0ce6429106b4ebe2c68bcdace4fd7801bc1648d
|
7
|
+
data.tar.gz: 1bc6416f7dc38a2479e01a4847bf4241e0c29cbd7ac531e05faa9d4da2cec2cc7cc428b76f2a726c9fda173e4d6d2c51a24cb03b70b0db05fc032e12088c7245
|
@@ -219,15 +219,22 @@ module Fluent::Plugin
|
|
219
219
|
|
220
220
|
events = []
|
221
221
|
rs.each do |t, time, record|
|
222
|
+
record = drop_empty_record(record)
|
223
|
+
|
222
224
|
time_ms = (time.to_f * 1000).floor
|
223
225
|
|
224
226
|
scrub_record!(record)
|
225
227
|
unless @message_keys.empty?
|
226
|
-
message = @message_keys.map
|
228
|
+
message = @message_keys.map{|k| record[k].to_s }.reject{|e| e.empty? }.join(' ')
|
227
229
|
else
|
228
230
|
message = @json_handler.dump(record)
|
229
231
|
end
|
230
232
|
|
233
|
+
if message.empty?
|
234
|
+
log.warn "Within specified message_key(s): (#{@message_keys.join(',')}) do not have non-empty record. Skip."
|
235
|
+
next
|
236
|
+
end
|
237
|
+
|
231
238
|
if @max_message_length
|
232
239
|
message = message.slice(0, @max_message_length)
|
233
240
|
end
|
@@ -256,6 +263,17 @@ module Fluent::Plugin
|
|
256
263
|
end
|
257
264
|
|
258
265
|
private
|
266
|
+
|
267
|
+
def drop_empty_record(record)
|
268
|
+
new_record = record.dup
|
269
|
+
new_record.each_key do |k|
|
270
|
+
if new_record[k] == ""
|
271
|
+
new_record.delete(k)
|
272
|
+
end
|
273
|
+
end
|
274
|
+
new_record
|
275
|
+
end
|
276
|
+
|
259
277
|
def scrub_record!(record)
|
260
278
|
case record
|
261
279
|
when Hash
|
@@ -714,6 +714,36 @@ class CloudwatchLogsOutputTest < Test::Unit::TestCase
|
|
714
714
|
logs = d.logs
|
715
715
|
assert(logs.any?{|log| log =~ /Log event in .* discarded because it is too large: 262184 bytes exceeds limit of 262144/})
|
716
716
|
end
|
717
|
+
|
718
|
+
def test_do_not_emit_empty_record
|
719
|
+
new_log_stream
|
720
|
+
|
721
|
+
d = create_driver(<<-EOC)
|
722
|
+
#{default_config}
|
723
|
+
message_keys cloudwatch,message
|
724
|
+
log_group_name #{log_group_name}
|
725
|
+
log_stream_name #{log_stream_name}
|
726
|
+
EOC
|
727
|
+
|
728
|
+
time = event_time
|
729
|
+
d.run(default_tag: fluentd_tag) do
|
730
|
+
d.feed(time, {'cloudwatch' => 'logs1', 'message' => ''})
|
731
|
+
d.feed(time + 1, {'cloudwatch' => '', 'message' => 'message2'})
|
732
|
+
d.feed(time + 2, {'cloudwatch' => '', 'message' => ''})
|
733
|
+
end
|
734
|
+
|
735
|
+
sleep 10
|
736
|
+
|
737
|
+
events = get_log_events
|
738
|
+
assert_equal(2, events.size)
|
739
|
+
assert_equal((time.to_f * 1000).floor, events[0].timestamp)
|
740
|
+
assert_equal('logs1', events[0].message)
|
741
|
+
assert_equal((time.to_i + 1) * 1000, events[1].timestamp)
|
742
|
+
assert_equal('message2', events[1].message)
|
743
|
+
|
744
|
+
logs = d.logs
|
745
|
+
assert(logs.any?{|log| log =~ /Within specified message_key\(s\): \(cloudwatch,message\) do not have non-empty record. Skip./})
|
746
|
+
end
|
717
747
|
end
|
718
748
|
|
719
749
|
def test_scrub_record
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-cloudwatch-logs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryota Arai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|