logstash-filter-remove_key_pattern 0.1.4 → 0.2.0
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a2d1273e83cc3bfbe2a32bf6ee739b937d22c65e
|
4
|
+
data.tar.gz: 41a69cbde9e4f739626759b8a87138a20afa04aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7b4fe76f479720801d45a30c9fb4e9fa679bcc8d3e5c5cdf42be47cc18a269ab2821b896bcb84d287f08f8ec94d812481b1d77e9cf1cef8f3313c105b101dfc
|
7
|
+
data.tar.gz: f2f2ce885ec15cf913b7441f90940225e8ca8babe15f8a9e7b4801854fb86beaccb0c6e651add9570391404c4dc5a75c1291a98ff8a59a9763e1978ea5d902dd
|
@@ -11,7 +11,7 @@ require "logstash/json"
|
|
11
11
|
# [source, ruby]
|
12
12
|
# filter {
|
13
13
|
# remove_key_pattern {
|
14
|
-
#
|
14
|
+
# parent_keys => ["haystack1", "haystack2"]
|
15
15
|
# pattern => ["\\d", "needle"]
|
16
16
|
# keep_only_ids => "true"
|
17
17
|
# }
|
@@ -22,7 +22,7 @@ class LogStash::Filters::RemoveKeyPattern < LogStash::Filters::Base
|
|
22
22
|
config_name "remove_key_pattern"
|
23
23
|
|
24
24
|
# Array of parent keys to remove from
|
25
|
-
config :
|
25
|
+
config :parent_keys, :validate => :array, :required => true
|
26
26
|
|
27
27
|
# Array of patterns to remove
|
28
28
|
config :pattern, :validate => :array, :required => true
|
@@ -42,14 +42,16 @@ class LogStash::Filters::RemoveKeyPattern < LogStash::Filters::Base
|
|
42
42
|
|
43
43
|
public
|
44
44
|
def filter(event)
|
45
|
-
|
45
|
+
@parent_keys.each do |key|
|
46
|
+
remove_pattern(event, key) unless event.get(key).nil?
|
47
|
+
end
|
46
48
|
filter_matched(event)
|
47
49
|
end
|
48
50
|
|
49
51
|
private
|
50
|
-
def remove_pattern(event)
|
52
|
+
def remove_pattern(event, key)
|
51
53
|
hash = {}
|
52
|
-
event.get(
|
54
|
+
event.get(key).each do |k, v|
|
53
55
|
unless (k =~ @pattern)
|
54
56
|
if @keep_only_ids && (k == 'id' or k =~ /.*_id$/)
|
55
57
|
hash[k] = v
|
@@ -58,6 +60,7 @@ class LogStash::Filters::RemoveKeyPattern < LogStash::Filters::Base
|
|
58
60
|
end
|
59
61
|
end
|
60
62
|
end
|
61
|
-
event.set(
|
63
|
+
event.set("#{key}_json", LogStash::Json.dump(event.get(key)))
|
64
|
+
event.set(key, hash)
|
62
65
|
end
|
63
66
|
end
|
@@ -8,7 +8,7 @@ describe LogStash::Filters::RemoveKeyPattern do
|
|
8
8
|
config <<-CONFIG
|
9
9
|
filter {
|
10
10
|
remove_key_pattern {
|
11
|
-
|
11
|
+
parent_keys => ["haystack1", "haystack2"]
|
12
12
|
pattern => ["needle", "\\d"]
|
13
13
|
keep_only_ids => "true"
|
14
14
|
}
|
@@ -20,7 +20,7 @@ describe LogStash::Filters::RemoveKeyPattern do
|
|
20
20
|
"numbers" => ["one", "two", "three"],
|
21
21
|
"47" => ["2", "3", "7"],
|
22
22
|
},
|
23
|
-
"
|
23
|
+
"haystack1" => {
|
24
24
|
"key1_id" => ["value1", "value2", "value3"],
|
25
25
|
"id" => ["value1", "value2", "value3"],
|
26
26
|
"key4_id" => ["value1", "value2", "value3"],
|
@@ -37,6 +37,10 @@ describe LogStash::Filters::RemoveKeyPattern do
|
|
37
37
|
}
|
38
38
|
|
39
39
|
sample(hash) do
|
40
|
+
insist { subject.get("hello") }.include?("numbers")
|
41
|
+
insist { subject.get("haystack1") }.include?("id")
|
42
|
+
insist { subject.get("haystack1") }.include?("key_four_id")
|
43
|
+
reject { subject.get("haystack1") }.include?("key4_id")
|
40
44
|
reject { subject.get("haystack2") }.include?("needle")
|
41
45
|
insist { subject.get("haystack2") }.include?("key_one_id")
|
42
46
|
reject { subject.get("haystack2") }.include?("key4_id")
|
@@ -49,7 +53,7 @@ describe LogStash::Filters::RemoveKeyPattern do
|
|
49
53
|
config <<-CONFIG
|
50
54
|
filter {
|
51
55
|
remove_key_pattern {
|
52
|
-
|
56
|
+
parent_keys => ["haystack", "haystack2"]
|
53
57
|
pattern => ["needle", "\\d"]
|
54
58
|
keep_only_ids => "false"
|
55
59
|
}
|
@@ -81,6 +85,11 @@ describe LogStash::Filters::RemoveKeyPattern do
|
|
81
85
|
insist { subject.get("haystack") }.include?("id")
|
82
86
|
insist { subject.get("haystack") }.include?("key_four_id")
|
83
87
|
reject { subject.get("haystack") }.include?("key4_id")
|
88
|
+
reject { subject.get("haystack2") }.include?("needle")
|
89
|
+
insist { subject.get("haystack2") }.include?("key_one_id")
|
90
|
+
reject { subject.get("haystack2") }.include?("key4_id")
|
91
|
+
insist { subject.get("haystack2") }.include?("key")
|
92
|
+
insist { subject.get("haystack2") }.include?("foobar")
|
84
93
|
end
|
85
94
|
end
|
86
95
|
|
@@ -88,7 +97,7 @@ describe LogStash::Filters::RemoveKeyPattern do
|
|
88
97
|
config <<-CONFIG
|
89
98
|
filter {
|
90
99
|
remove_key_pattern {
|
91
|
-
|
100
|
+
parent_keys => ["h2"]
|
92
101
|
pattern => ["needle", "\\d"]
|
93
102
|
keep_only_ids => "true"
|
94
103
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-remove_key_pattern
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arthur Alfredo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|