fluent-plugin-json-nest2flat 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +23 -4
- data/fluent-plugin-json-nest2flat.gemspec +1 -1
- data/lib/fluent/plugin/out_json_nest2flat.rb +19 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e45093d5cca9ffa3fbb1402e56e2347f887e234f
|
4
|
+
data.tar.gz: 648dfeb3aa5d8b18ebc3622d93145ce2e4b97024
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78b95b15bb6899e345463120c5cddd9496113764952bac421e4beff856e8e9ad9b43a28ffb71be6cc7274c861a63aaa1d3a07da80d1cf3164a84224f7067b0b1
|
7
|
+
data.tar.gz: e404e4dc5d0ec9f4455ae53018a9b718d4a1dcf3f12a619d7b60e4e4ecb8baa7c59e5b326ea8a8333a53455461e92a50622528894697dc83f5673d76a6ec6093
|
data/README.md
CHANGED
@@ -1,24 +1,43 @@
|
|
1
1
|
# fluent-plugin-json-nest2flat
|
2
2
|
# Overview
|
3
3
|
|
4
|
-
json_nest2flat is a fluentd output plugin.
|
5
|
-
I will convert data into a flat data structure of JSON nested.
|
4
|
+
json_nest2flat is a fluentd output plugin.I will convert data into a flat data structure of JSON nested.
|
6
5
|
|
7
|
-
ex. {
|
6
|
+
ex. {"hoge":1, "foo":2, "data":{"name":"taro", "age":18, "height":175}} -> ex. {"hoge":1, "foo":2, "name":"taro", "age":18, "height":175}
|
8
7
|
|
8
|
+
[I am writing in my blog, such as the history of release](http://f-retu.hatenablog.com/entry/2013/12/24/235908)
|
9
9
|
|
10
10
|
# Configuration
|
11
|
+
ex1.
|
11
12
|
|
12
13
|
<match pattern>
|
13
14
|
type json_nest2flat
|
15
|
+
tag json_nest2flat.finished
|
16
|
+
json_keys data1,data2,data3
|
17
|
+
</match>
|
18
|
+
|
19
|
+
|
20
|
+
ex2.
|
21
|
+
|
22
|
+
<match pattern>
|
23
|
+
type json_nest2flat
|
24
|
+
add_tag_prefix json_nest2flat
|
14
25
|
json_keys data1,data2,data3
|
15
26
|
</match>
|
16
27
|
|
17
28
|
# Parameters
|
29
|
+
* tag
|
30
|
+
|
31
|
+
The output tag. add_tag_prefix or tag is required.
|
32
|
+
|
33
|
+
* add_tag_prefix
|
34
|
+
|
35
|
+
To add a prefix to the tag that matched. Tag, is enabled if both are specified tag and if, add_tag_prefix is ignored.
|
36
|
+
|
18
37
|
* json_keys
|
19
38
|
|
20
39
|
It is the key that you want to convert to a flat structure from JSON nested. It is more than one can be specified in a comma-separated.
|
21
|
-
|
40
|
+
|
22
41
|
# TODO
|
23
42
|
|
24
43
|
Currently, nested structure of two or more layers will be unexpected.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
Gem::Specification.new do |spec|
|
3
3
|
spec.name = "fluent-plugin-json-nest2flat"
|
4
|
-
spec.version = "0.0.
|
4
|
+
spec.version = "0.0.3"
|
5
5
|
spec.authors = ["Fukui ReTu"]
|
6
6
|
spec.email = ["s0232101@gmail.com"]
|
7
7
|
spec.description = %q{Output filter plugin to convert to a flat structure the JSON that is nest}
|
@@ -3,7 +3,8 @@ module Fluent
|
|
3
3
|
|
4
4
|
Fluent::Plugin.register_output('json_nest2flat', self)
|
5
5
|
|
6
|
-
config_param :tag, :string, :default =>
|
6
|
+
config_param :tag, :string, :default => nil
|
7
|
+
config_param :add_tag_prefix, :string, :default => nil
|
7
8
|
config_param :json_keys, :string, :default => nil
|
8
9
|
|
9
10
|
def configure(conf)
|
@@ -11,10 +12,20 @@ module Fluent
|
|
11
12
|
|
12
13
|
@json_keys = conf['json_keys']
|
13
14
|
if @json_keys.nil?
|
14
|
-
raise Fluent::ConfigError, "json_keys is
|
15
|
+
raise Fluent::ConfigError, "json_keys is required!"
|
15
16
|
end
|
16
17
|
|
17
18
|
@tag = conf['tag']
|
19
|
+
@add_tag_prefix = conf['add_tag_prefix']
|
20
|
+
if @tag.nil? && @add_tag_prefix.nil?
|
21
|
+
raise Fluent::ConfigError, "tag or add_tag_prefix is required!"
|
22
|
+
end
|
23
|
+
|
24
|
+
@enabled_tag = false
|
25
|
+
if !@tag.nil?
|
26
|
+
@enabled_tag = true
|
27
|
+
end
|
28
|
+
|
18
29
|
@json_keys = @json_keys.split(",")
|
19
30
|
end
|
20
31
|
|
@@ -24,7 +35,11 @@ module Fluent
|
|
24
35
|
|
25
36
|
new_record = _convert_record(record);
|
26
37
|
|
27
|
-
|
38
|
+
if @enabled_tag
|
39
|
+
Fluent::Engine.emit(@tag, time, new_record)
|
40
|
+
else
|
41
|
+
Fluent::Engine.emit("#{@add_tag_prefix}.#{tag}", time, new_record)
|
42
|
+
end
|
28
43
|
}
|
29
44
|
end
|
30
45
|
|
@@ -50,7 +65,7 @@ module Fluent
|
|
50
65
|
end
|
51
66
|
}
|
52
67
|
|
53
|
-
unless json_keys_exist_count
|
68
|
+
unless json_keys_exist_count > 0
|
54
69
|
$log.warn "json_keys is not found."
|
55
70
|
end
|
56
71
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-json-nest2flat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fukui ReTu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|