fluent-plugin-record-modifier 0.1.2 → 0.1.3
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 +7 -0
- data/.travis.yml +6 -1
- data/ChangeLog +6 -0
- data/README.md +26 -2
- data/VERSION +1 -1
- data/fluent-plugin-record-modifier.gemspec +1 -0
- data/lib/fluent/plugin/out_record_modifier.rb +12 -1
- data/test/out_record_modifier.rb +31 -0
- metadata +11 -24
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7ce747c7583be63187340e9cb3c115a33c70088b
|
4
|
+
data.tar.gz: 073fe2a881f23665cf21a249c79c8027f69cda67
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 108c4bf2ea859c94beeabc8ad82f53a15f9328ab813c5ebd56e5d3996988bfd86ca2125be7370038b003a4be2d51345542d34f3f6f2eabe25f84257bdcdd80a7
|
7
|
+
data.tar.gz: 21de6cfad5274f31fc72f883c4bd6aabf1bfbb07e7e78c066d82ecb72cf5b75955d0a0ec8acf5015cccdf75778acae334d87c712974e11b816f57d0826a21a90
|
data/.travis.yml
CHANGED
data/ChangeLog
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
Release 0.1.3 - 2014/04/16
|
2
|
+
|
3
|
+
* Add remove_keys option to remove needless fields from record
|
4
|
+
https://github.com/repeatedly/fluent-plugin-record-modifier#remove_keys
|
5
|
+
|
6
|
+
|
1
7
|
Release 0.1.2 - 2013/11/22
|
2
8
|
|
3
9
|
* Add char_encoding parameter to handle charactor encoding in event record
|
data/README.md
CHANGED
@@ -52,6 +52,32 @@ But an user sometimes processes the logs depends on their requirements, e.g. han
|
|
52
52
|
</match>
|
53
53
|
```
|
54
54
|
|
55
|
+
### remove_keys
|
56
|
+
|
57
|
+
The logs include needless record keys in some cases.
|
58
|
+
You can remove it by using `remove_keys` parameter.
|
59
|
+
|
60
|
+
```conf
|
61
|
+
<match pattern>
|
62
|
+
type record_modifier
|
63
|
+
|
64
|
+
# remove key1 and key2 keys from record
|
65
|
+
remove_keys key1,key2
|
66
|
+
</match>
|
67
|
+
```
|
68
|
+
|
69
|
+
If following record is passed:
|
70
|
+
|
71
|
+
```js
|
72
|
+
{"key1":"hoge", "key2":"foo", "key3":"bar"}
|
73
|
+
```
|
74
|
+
|
75
|
+
then you got new record like below:
|
76
|
+
|
77
|
+
```js
|
78
|
+
{"key3":"bar"}
|
79
|
+
```
|
80
|
+
|
55
81
|
### Mixins
|
56
82
|
|
57
83
|
* [SetTagKeyMixin](https://github.com/fluent/fluentd/blob/master/lib/fluent/mixin.rb#L181)
|
@@ -63,8 +89,6 @@ But an user sometimes processes the logs depends on their requirements, e.g. han
|
|
63
89
|
|
64
90
|
* Use HandleTagNameMixin to keep original tag
|
65
91
|
|
66
|
-
* Remove record field
|
67
|
-
|
68
92
|
* Replace record value
|
69
93
|
|
70
94
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
@@ -11,6 +11,7 @@ Gem::Specification.new do |gem|
|
|
11
11
|
gem.email = "repeatedly@gmail.com"
|
12
12
|
gem.has_rdoc = false
|
13
13
|
#gem.platform = Gem::Platform::RUBY
|
14
|
+
gem.license = 'MIT'
|
14
15
|
gem.files = `git ls-files`.split("\n")
|
15
16
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
17
|
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
@@ -6,11 +6,12 @@ module Fluent
|
|
6
6
|
|
7
7
|
config_param :tag, :string
|
8
8
|
config_param :char_encoding, :string, :default => nil
|
9
|
+
config_param :remove_keys, :string, :default => nil
|
9
10
|
|
10
11
|
include SetTagKeyMixin
|
11
12
|
include Fluent::Mixin::ConfigPlaceholders
|
12
13
|
|
13
|
-
BUILTIN_CONFIGURATIONS = %W(type tag include_tag_key tag_key char_encoding)
|
14
|
+
BUILTIN_CONFIGURATIONS = %W(type tag include_tag_key tag_key char_encoding remove_keys)
|
14
15
|
|
15
16
|
def configure(conf)
|
16
17
|
super
|
@@ -38,6 +39,10 @@ module Fluent
|
|
38
39
|
define_method(:change_encoding, m)
|
39
40
|
end
|
40
41
|
end
|
42
|
+
|
43
|
+
if @remove_keys
|
44
|
+
@remove_keys = @remove_keys.split(',').map {|e| e.strip }
|
45
|
+
end
|
41
46
|
end
|
42
47
|
|
43
48
|
def emit(tag, es, chain)
|
@@ -56,6 +61,12 @@ module Fluent
|
|
56
61
|
record[k] = v
|
57
62
|
}
|
58
63
|
|
64
|
+
if @remove_keys
|
65
|
+
@remove_keys.each { |v|
|
66
|
+
record.delete(v)
|
67
|
+
}
|
68
|
+
end
|
69
|
+
|
59
70
|
record = change_encoding(record) if @char_encoding
|
60
71
|
record
|
61
72
|
end
|
data/test/out_record_modifier.rb
CHANGED
@@ -15,6 +15,7 @@ class RecordModifierOutputTest < Test::Unit::TestCase
|
|
15
15
|
foo bar
|
16
16
|
include_tag_key
|
17
17
|
tag_key included_tag
|
18
|
+
remove_keys hoge
|
18
19
|
]
|
19
20
|
|
20
21
|
def create_driver(conf = CONFIG)
|
@@ -79,4 +80,34 @@ class RecordModifierOutputTest < Test::Unit::TestCase
|
|
79
80
|
|
80
81
|
assert_equal [{"k" => 'v'.force_encoding('cp932')}], d.records
|
81
82
|
end
|
83
|
+
|
84
|
+
def test_remove_one_key
|
85
|
+
d = create_driver %[
|
86
|
+
type record_modifier
|
87
|
+
|
88
|
+
tag foo.filtered
|
89
|
+
remove_keys k1
|
90
|
+
]
|
91
|
+
|
92
|
+
d.run do
|
93
|
+
d.emit("k1" => 'v', "k2" => 'v')
|
94
|
+
end
|
95
|
+
|
96
|
+
assert_equal [{"k2" => 'v'}], d.records
|
97
|
+
end
|
98
|
+
|
99
|
+
def test_remove_multiple_keys
|
100
|
+
d = create_driver %[
|
101
|
+
type record_modifier
|
102
|
+
|
103
|
+
tag foo.filtered
|
104
|
+
remove_keys k1, k2, k3
|
105
|
+
]
|
106
|
+
|
107
|
+
d.run do
|
108
|
+
d.emit("k1" => 'v', "k2" => 'v', "k4" => 'v')
|
109
|
+
end
|
110
|
+
|
111
|
+
assert_equal [{"k4" => 'v'}], d.records
|
112
|
+
end
|
82
113
|
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-record-modifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Masahiro Nakagawa
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-04-16 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: fluentd
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
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
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: fluent-mixin-config-placeholders
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
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
|
@@ -46,17 +41,15 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
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.9.2
|
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.9.2
|
62
55
|
description: Output filter plugin for modifying each event record
|
@@ -75,34 +68,28 @@ files:
|
|
75
68
|
- lib/fluent/plugin/out_record_modifier.rb
|
76
69
|
- test/out_record_modifier.rb
|
77
70
|
homepage: https://github.com/repeatedly/fluent-plugin-record-modifier
|
78
|
-
licenses:
|
71
|
+
licenses:
|
72
|
+
- MIT
|
73
|
+
metadata: {}
|
79
74
|
post_install_message:
|
80
75
|
rdoc_options: []
|
81
76
|
require_paths:
|
82
77
|
- lib
|
83
78
|
required_ruby_version: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
79
|
requirements:
|
86
|
-
- -
|
80
|
+
- - '>='
|
87
81
|
- !ruby/object:Gem::Version
|
88
82
|
version: '0'
|
89
|
-
segments:
|
90
|
-
- 0
|
91
|
-
hash: -3676841215308348521
|
92
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
|
-
none: false
|
94
84
|
requirements:
|
95
|
-
- -
|
85
|
+
- - '>='
|
96
86
|
- !ruby/object:Gem::Version
|
97
87
|
version: '0'
|
98
|
-
segments:
|
99
|
-
- 0
|
100
|
-
hash: -3676841215308348521
|
101
88
|
requirements: []
|
102
89
|
rubyforge_project:
|
103
|
-
rubygems_version:
|
90
|
+
rubygems_version: 2.0.2
|
104
91
|
signing_key:
|
105
|
-
specification_version:
|
92
|
+
specification_version: 4
|
106
93
|
summary: Output filter plugin for modifying each event record
|
107
94
|
test_files:
|
108
95
|
- test/out_record_modifier.rb
|