fluent-plugin-ilm_text_to_json 0.0.1
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/lib/fluent/plugin/out_text_to_json.rb +58 -0
- metadata +115 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d335062239d19bcc6c55e8fa3eea79344a235757
|
4
|
+
data.tar.gz: 8b72d54135430e900ab56926d1a1955d4065debd
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b48999b44e396b2b6e09a200d0c700942fc850516426d4c16cfb092ef5c45e53bae2a657ca6b9c50da671fe9aa921db02ddf274f58c8e6182a16b8f1e27631b7
|
7
|
+
data.tar.gz: 5a967436647d5e0fc90cd7221de30de8cb65cb983519bb0f2f6e6a512ed3e834aa32afc988d7b800123da5f2138a56a5aeeaa96a31f41aa94d85071029146463
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require "fluent/plugin/text_to_json/version"
|
2
|
+
|
3
|
+
module Fluent
|
4
|
+
module TextFormatter
|
5
|
+
module TextToJsonFormatter < Formatter
|
6
|
+
Plugin.register_formatter("ilm_text_to_json", self)
|
7
|
+
|
8
|
+
include HandleTagAndTimeMixin
|
9
|
+
config_param :json_field, :string
|
10
|
+
config_param :field_splitter, :string
|
11
|
+
|
12
|
+
def configure(conf)
|
13
|
+
super
|
14
|
+
@fields = @json_field.split(",").map{|field| "\"" + field + "\""}
|
15
|
+
end
|
16
|
+
|
17
|
+
def format(tag, time, record)
|
18
|
+
tmp_field = Array.new
|
19
|
+
tmp_field = record.split(@field_splitter)
|
20
|
+
|
21
|
+
tmp_field[1] = @field_splitter + tmp_field[1]
|
22
|
+
|
23
|
+
|
24
|
+
#sdr parameters to json format
|
25
|
+
tmp_field[0] = tmp_field[0].split("\n")
|
26
|
+
tmp_field[0] = tmp_field[0].map{|value| (value == "")? nil:value} # HBase plugin ignores nil values
|
27
|
+
tmp_field[0] = tmp_field[0].map{|value| (value == nil)? nil:"\""+value+"\""}
|
28
|
+
|
29
|
+
tmp_field[0] = @fields[2,14].zip(tmp_field[0]
|
30
|
+
tmp_field[0] = tmp_field[0].map{|x| x.join(":")}.join(",")
|
31
|
+
tmp_field[0] = @field[0] + ":" + "{" + tmp_field[0] + "}"
|
32
|
+
|
33
|
+
|
34
|
+
#factor paramters to json format
|
35
|
+
tmp_field[1] = tmp_field[1].split("\n")
|
36
|
+
#Set factor ID as a second field's name
|
37
|
+
head, *tail = tmp_field[1].split("\n")
|
38
|
+
haed = head.split("|")
|
39
|
+
head = head.map(|field| "\""+field+"\""}
|
40
|
+
|
41
|
+
|
42
|
+
tail = tail.map{|values| values.split("|")}
|
43
|
+
|
44
|
+
new_tail = Array.new(head.length)
|
45
|
+
|
46
|
+
for i in 0..head.length-1
|
47
|
+
new_tail[i] = "\"" + tail.map{|values| values[i]}.join(",") + "\""
|
48
|
+
end
|
49
|
+
|
50
|
+
tmp_field[1] = "{" + head.zip(new_tail).map{|field,value| field + ":" + value }.join(",") + "}"
|
51
|
+
|
52
|
+
"{" + @fileds[0] + ":" + "{" + tmp_field[0] + "}," + @fields[1] + ":" + "{" + tmp_field[1] + "}}"
|
53
|
+
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
metadata
ADDED
@@ -0,0 +1,115 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fluent-plugin-ilm_text_to_json
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- minwoo lee
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-06-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.15'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.15'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: fluentd
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.12.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.12.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: massive_record
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.2.2
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.2.2
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.9.2
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.9.2
|
83
|
+
description: '"this is just our exclusive plugin for the special purpose"'
|
84
|
+
email:
|
85
|
+
- minwoo.lee@ilmile.com
|
86
|
+
executables: []
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- lib/fluent/plugin/out_text_to_json.rb
|
91
|
+
homepage: https://rubygems.org/gems/fluent-plugin-ilm_text_to_json
|
92
|
+
licenses:
|
93
|
+
- MIT
|
94
|
+
metadata: {}
|
95
|
+
post_install_message:
|
96
|
+
rdoc_options: []
|
97
|
+
require_paths:
|
98
|
+
- lib
|
99
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
requirements: []
|
110
|
+
rubyforge_project:
|
111
|
+
rubygems_version: 2.4.8
|
112
|
+
signing_key:
|
113
|
+
specification_version: 4
|
114
|
+
summary: '"convert text/plain format to json format."'
|
115
|
+
test_files: []
|