fluent-plugin-filter_keys 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c29432453d35a247dd46995e361adbbc83c22018
4
+ data.tar.gz: 066eb4da8ebeb77f6968b5c3dfa6bed478efc678
5
+ SHA512:
6
+ metadata.gz: 81b9a5eb0a59dbbac060fb4529aa1bea0a8a5128a33601696fa1e7a662c18038ab24c71e7552e11136279c5422b62eb54a7ec899102e7d33456aa9a153afca53
7
+ data.tar.gz: aa4ec45edf4f0931e1777da1fce98d9e8aa4e9d0f7e8963b9e2a9e8f860ef72504ed93f5334070f8029752588973eda70823c3527bbc7789bb85dc043f398ae0
data/README.md CHANGED
@@ -31,11 +31,15 @@ $ gem install fluent-plugin-filter_keys
31
31
 
32
32
  #### ensure_keys
33
33
 
34
- The keys to be existed in event logs. If it doesn't match, the event log will be discarded.
34
+ Keys to be existed in a event log. If it doesn't match, the event log will be discarded.
35
35
 
36
36
  #### denied_keys
37
37
 
38
- The keys to be not existed in event logs. If it matches, the event log will be discarded.
38
+ Keys to be not existed in a event log. If it matches, the event log will be discarded.
39
+
40
+ #### add_tag_and_reemit
41
+
42
+ Default false. if this configure parameter is true and doesn't match keys, add tag 'discarded' and reemit.
39
43
 
40
44
  ## Contributing
41
45
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "fluent-plugin-filter_keys"
3
- spec.version = "0.0.1"
3
+ spec.version = "0.0.2"
4
4
  spec.authors = ["Kohei Hasegawa"]
5
5
  spec.email = ["ameutau@gmail.com"]
6
6
  spec.description = %q{Fluentd plugin to filter if a specific key is present or not in event logs.}
@@ -8,6 +8,9 @@ module Fluent
8
8
 
9
9
  config_param :ensure_keys, :string, :default => nil
10
10
  config_param :denied_keys, :string, :default => nil
11
+ config_param :add_tag_and_reemit, :bool, :default => false
12
+
13
+ DISCARD_TAG = 'discarded'
11
14
 
12
15
  def configure(conf)
13
16
  super
@@ -18,6 +21,7 @@ module Fluent
18
21
 
19
22
  @ensure_keys = ensure_keys && ensure_keys.split(/\s*,\s*/)
20
23
  @denied_keys = denied_keys && denied_keys.split(/\s*,\s*/)
24
+
21
25
  end
22
26
 
23
27
  def emit(tag, es, chain)
@@ -26,6 +30,8 @@ module Fluent
26
30
  filter_record(t, time, record)
27
31
  if ensure_keys_in?(record) || denied_keys_not_in?(record)
28
32
  Engine.emit(t, time, record)
33
+ else
34
+ Engine.emit("#{DISCARD_TAG}.#{t}", time, record) if @add_tag_and_reemit
29
35
  end
30
36
  }
31
37
 
@@ -179,4 +179,23 @@ class FilterKeysOutputTest < Test::Unit::TestCase
179
179
  assert_equal '100', e[2]['bar']
180
180
  end
181
181
  end
182
+
183
+ def test_emit_when_record_discarded
184
+ d = create_driver(%[
185
+ ensure_keys foo, bar
186
+ add_tag_prefix filter_keys.
187
+ add_tag_and_reemit true
188
+ ])
189
+
190
+ record = {
191
+ 'foo' => "50",
192
+ }
193
+
194
+ d.run { d.emit(record) }
195
+ emits = d.emits
196
+
197
+ assert_equal 1, emits.count
198
+ assert_equal 'discarded.filter_keys.test', emits[0][0]
199
+ assert_equal '50', emits[0][2]['foo']
200
+ end
182
201
  end
metadata CHANGED
@@ -1,62 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-filter_keys
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kohei Hasegawa
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-03-30 00:00:00.000000000 Z
11
+ date: 2013-11-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: fluentd
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  description: Fluentd plugin to filter if a specific key is present or not in event
@@ -80,27 +73,26 @@ files:
80
73
  homepage: https://github.com/banyan/fluent-plugin-filter_keys
81
74
  licenses:
82
75
  - MIT
76
+ metadata: {}
83
77
  post_install_message:
84
78
  rdoc_options: []
85
79
  require_paths:
86
80
  - lib
87
81
  required_ruby_version: !ruby/object:Gem::Requirement
88
- none: false
89
82
  requirements:
90
- - - ! '>='
83
+ - - '>='
91
84
  - !ruby/object:Gem::Version
92
85
  version: '0'
93
86
  required_rubygems_version: !ruby/object:Gem::Requirement
94
- none: false
95
87
  requirements:
96
- - - ! '>='
88
+ - - '>='
97
89
  - !ruby/object:Gem::Version
98
90
  version: '0'
99
91
  requirements: []
100
92
  rubyforge_project:
101
- rubygems_version: 1.8.23
93
+ rubygems_version: 2.0.2
102
94
  signing_key:
103
- specification_version: 3
95
+ specification_version: 4
104
96
  summary: Fluentd plugin to filter if a specific key is present or not in event logs.
105
97
  test_files:
106
98
  - test/plugin/test_out_filter_keys.rb