fluent-plugin-serialize-nested-json 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9f869e0a7533c134e0597890a3de49ed7ffc8844
4
- data.tar.gz: ab55ad2cdc152698eaebe663c2610b167465f424
3
+ metadata.gz: '08d2df2a249446b73c92e38f242a9a524f22be9d'
4
+ data.tar.gz: 88ef0de90c736019e5ef12a3bf92689cfb3e0964
5
5
  SHA512:
6
- metadata.gz: 61587db062114ed826461a9a836d8f334c9a4b93912176dc6546fb4064f0e8f20cd67ad06be2929784c7375ba35a11ced059d22fd314ea7e1788664b9390b6ea
7
- data.tar.gz: 57e5e02f236cdc1272fe8081c56f5ebbe18621c5f26ba0d4bade897e4f911f762033f16023b7469426cc6c27a347af89eb268ffae087d7ed04c5d83184500a46
6
+ metadata.gz: cfbfe61447bce14b4fce3193bdf00c625273023fd70701016b2166e48acc0bcd604dcc40b1fab2f887f4cb7b0d87ac9082e7535aad238f75ce583a7f80935489
7
+ data.tar.gz: ec37576994a044d546b661922c974a92ac1a61b0f21f42deb1f04b01f05c5ae526171b08a747e1c1634cf64c30f9fae06634c1163ac86bdf54ebc89391d1a6d1
data/README.md CHANGED
@@ -1,20 +1,17 @@
1
- # fluent-plugin-json-in-json [![Gem Version](https://badge.fury.io/rb/fluent-plugin-json-in-json-2.svg)](https://badge.fury.io/rb/fluent-plugin-json-in-json-2)
1
+ # fluent-plugin-serialize-nested-json
2
+ [![Gem Version](https://badge.fury.io/rb/fluent-plugin-serialize-nested-json.svg)](https://badge.fury.io/rb/fluent-plugin-serialize-nested-json)
2
3
 
3
- This is a fork repo of [arcivanov/fluent-plugin-json-in-json](https://github.com/arcivanov/fluent-plugin-json-in-json) which itself fork of [gmr/fluent-plugin-json-in-json](https://github.com/gmr/fluent-plugin-json-in-json) which is not supported now.
4
+ This fluentd parser plugin serializes nested JSON objects in JSON log lines, basically it exactly
5
+ does reverse of [fluent-plugin-json-in-json](https://github.com/alikhil/fluent-plugin-json-in-json).
4
6
 
5
- The purpose of this repo to publish actual version of `fluent-plugin-json-in-json` plugin.
6
-
7
- ## Requirements
8
-
9
- This fluentd parser plugin parses JSON log lines with nested JSON strings. For
10
- example, given a docker log of ``{"log": "{\"foo\": \"bar\"}"}``, the log record
11
- will be parsed into ``{:log => { :foo => "bar" }}``.
7
+ For example,
8
+ ``{"ref": {"foo": "bar"}}``, the log record will be parsed into ``{:ref => "{\"foo\": \"bar\"}"}``.
12
9
 
13
10
  ## Installation
14
11
 
15
12
  Add this line to your application's Gemfile:
16
13
 
17
- gem 'fluent-plugin-json-in-json-2'
14
+ gem 'fluent-plugin-serialize-nested-json'
18
15
 
19
16
  And then execute:
20
17
 
@@ -22,7 +19,7 @@ And then execute:
22
19
 
23
20
  Or install it yourself as:
24
21
 
25
- $ gem install fluent-plugin-json-in-json-2
22
+ $ gem install fluent-plugin-serialize-nested-json
26
23
 
27
24
 
28
25
  ## Usage
@@ -30,11 +27,11 @@ Or install it yourself as:
30
27
  ```
31
28
  <source>
32
29
  type tail
33
- path /var/lib/docker/containers/*/*-json.log
34
- pos_file /var/log/fluentd-docker.pos
30
+ path /var/log/app/*.json
31
+ pos_file /var/log/fluentd.pos
35
32
  time_format %Y-%m-%dT%H:%M:%S
36
- tag docker.*
37
- format json_in_json
33
+ tag fluent.*
34
+ format serialize_nested_json
38
35
  read_from_head true
39
36
  </source>
40
37
  ```
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = "fluent-plugin-serialize-nested-json"
4
- spec.version = "0.0.1"
4
+ spec.version = "0.0.3"
5
5
  spec.authors = ["Yagnesh Mistry"]
6
6
  spec.email = ["ysh@live.in"]
7
7
  spec.description = %q{Parser plugin that serializes nested JSON attributes}
@@ -6,6 +6,7 @@ module Fluent
6
6
  class SerializeJSONParser < Parser
7
7
  Plugin.register_parser('serialize_nested_json', self)
8
8
 
9
+ config_param :stringify_num, :bool, default: "false" # strinfify_num is configurable with "false" as default
9
10
  config_set_default :time_key, 'time'
10
11
  config_set_default :time_type, :float
11
12
 
@@ -31,6 +32,13 @@ module Fluent
31
32
  # continue
32
33
  end
33
34
  end
35
+ if v.is_a?(Numeric) && @strinfify_num == true
36
+ begin
37
+ values[k] = v.to_s
38
+ record.delete k
39
+ rescue Exception => e
40
+ end
41
+ end
34
42
  end
35
43
  record.merge!(values)
36
44
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-serialize-nested-json
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yagnesh Mistry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-25 00:00:00.000000000 Z
11
+ date: 2020-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
135
  version: '0'
136
136
  requirements: []
137
137
  rubyforge_project:
138
- rubygems_version: 2.5.2.1
138
+ rubygems_version: 2.5.2.3
139
139
  signing_key:
140
140
  specification_version: 4
141
141
  summary: Parser plugin that serializes nested JSON attributes