fluent-plugin-mutate_filter 1.0.5 → 1.0.6
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-mutate_filter.gemspec +1 -1
- data/lib/fluent/plugin/filter_mutate.rb +20 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0664bad26658d5673c81a8bf2a16a009da087d73587b80e376c05a5197fe8b6e
|
4
|
+
data.tar.gz: 6f7cdc9185ed4978cc003ddea9f98ae7f4e715892b7d7903dcedfa58921931e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94e5be76a90711b400d3027234268e0eddf3f5649c5e5aa7048a3f5a6808a58f0d79b97efd55f69ce4493afe2965ec5bf03f3bafbba26371a90ed43844dae287
|
7
|
+
data.tar.gz: 5175dfb54f04ca6d03cc512e8dda1fd1835b2913b85ff4c49e238aaa10e0b965dec30380c058ab32d1dd9daadef9f0c31e433979281f345e991d75deb82f0263
|
@@ -62,7 +62,7 @@ module Fluent
|
|
62
62
|
end
|
63
63
|
when "parse"
|
64
64
|
data.each do |key, value|
|
65
|
-
if key == "
|
65
|
+
if key == "merge_root"
|
66
66
|
data[key] = Fluent::Config.bool_value(value)
|
67
67
|
next
|
68
68
|
end
|
@@ -428,25 +428,36 @@ module Fluent
|
|
428
428
|
# Lazily just support json for now
|
429
429
|
# @since 1.0.0
|
430
430
|
def parse(params, event)
|
431
|
-
merge_root = params.
|
431
|
+
merge_root = params.fetch("merge_root", false)
|
432
432
|
|
433
433
|
params.each do |field, parser|
|
434
|
+
next if field == "merge_root"
|
435
|
+
|
434
436
|
value = event.get(field)
|
437
|
+
parsed = nil
|
435
438
|
|
436
439
|
unless value.is_a?(String)
|
437
440
|
@log.warn("field value cannot be parsed by #{parser}")
|
438
441
|
next
|
439
442
|
end
|
440
443
|
|
441
|
-
|
442
|
-
or (value.start_with?('[') and value.end_with?(']'))
|
443
|
-
value = JSON.load(value)
|
444
|
+
value = event.get(field).strip
|
444
445
|
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
446
|
+
if value.start_with?('{') and value.end_with?('}')
|
447
|
+
parsed = JSON.load(value)
|
448
|
+
end
|
449
|
+
|
450
|
+
if parsed.nil?
|
451
|
+
next
|
452
|
+
end
|
453
|
+
|
454
|
+
if merge_root
|
455
|
+
parsed.each do |k, v|
|
456
|
+
event.set(k, v)
|
457
|
+
event.delete(field)
|
449
458
|
end
|
459
|
+
else
|
460
|
+
event.set(field, parsed)
|
450
461
|
end
|
451
462
|
end
|
452
463
|
end
|