logstash-codec-json 0.1.7 → 1.0.0

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: 437ddd49e2c418162ba9ab11287f8e0c7a54a029
4
- data.tar.gz: 8bbeff3fa7da6bcac8f671a5738d859c3c8ce274
3
+ metadata.gz: 301db44dac7fae7150d3192cedfc924aede32ecc
4
+ data.tar.gz: 3655a1837f16ee061573a65e17582c87f6c72397
5
5
  SHA512:
6
- metadata.gz: 8f62f4aeb141c78a4ca9d56180c0b21a89957cd7b9ec63610fea6860ad9eb631716fc1fab7ffff4c96377b9f14699f66da457b86772fbc83739b2b6b2680e67f
7
- data.tar.gz: 22c157b28dfacf723f8528675d74590d67748b354a2134f411d831ece03859947b1b1b7a84717fd9b8b5f3f57b9de5da0061abbf60725a2a6e022396fe77834c
6
+ metadata.gz: 654736689c2cffe29aa09dc2df93825f8c617a6ddac5dec1e14104de6b34b6ec06f868b0b7068a719c0abb6e8befcd1eb99dc5178d64ad1e356f3943fa393dda
7
+ data.tar.gz: 77fc0dc02e502d549a32c8bacc77c03f34e9999f2f53281817a21e0c26f42a7182825bfbedee93ead67b4d1667d1d5503039d37f526be9c7231a025752eb863d
data/CHANGELOG.md ADDED
File without changes
data/NOTICE.TXT ADDED
@@ -0,0 +1,5 @@
1
+ Elasticsearch
2
+ Copyright 2012-2015 Elasticsearch
3
+
4
+ This product includes software developed by The Apache Software
5
+ Foundation (http://www.apache.org/).
data/README.md CHANGED
@@ -13,7 +13,7 @@ Logstash provides infrastructure to automatically generate documentation for thi
13
13
 
14
14
  ## Need Help?
15
15
 
16
- Need help? Try #logstash on freenode IRC or the logstash-users@googlegroups.com mailing list.
16
+ Need help? Try #logstash on freenode IRC or the https://discuss.elastic.co/c/logstash discussion forum.
17
17
 
18
18
  ## Developing
19
19
 
@@ -6,7 +6,12 @@ require "logstash/json"
6
6
  # This codec may be used to decode (via inputs) and encode (via outputs)
7
7
  # full JSON messages. If you are streaming JSON messages delimited
8
8
  # by '\n' then see the `json_lines` codec.
9
- # Encoding will result in a single JSON string.
9
+ #
10
+ # Encoding will result in a compact JSON representation (no line terminators or indentation)
11
+ #
12
+ # If this codec recieves a payload from an input that is not valid JSON, then
13
+ # it will fall back to plain text and add a tag `_jsonparsefailure`. Upon a JSON
14
+ # failure, the payload will be stored in the `message` field.
10
15
  class LogStash::Codecs::JSON < LogStash::Codecs::Base
11
16
  config_name "json"
12
17
 
@@ -19,7 +24,7 @@ class LogStash::Codecs::JSON < LogStash::Codecs::Base
19
24
  # weird cases like this, you can set the `charset` setting to the
20
25
  # actual encoding of the text and Logstash will convert it for you.
21
26
  #
22
- # For nxlog users, you'll want to set this to "CP1252".
27
+ # For nxlog users, you may to set this to "CP1252".
23
28
  config :charset, :validate => ::Encoding.name_list, :default => "UTF-8"
24
29
 
25
30
  public
@@ -35,7 +40,7 @@ class LogStash::Codecs::JSON < LogStash::Codecs::Base
35
40
  yield LogStash::Event.new(LogStash::Json.load(data))
36
41
  rescue LogStash::Json::ParserError => e
37
42
  @logger.info("JSON parse failure. Falling back to plain-text", :error => e, :data => data)
38
- yield LogStash::Event.new("message" => data, "tags" => "_jsonparsefailure")
43
+ yield LogStash::Event.new("message" => data, "tags" => ["_jsonparsefailure"])
39
44
  end
40
45
  end # def decode
41
46
 
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-codec-json'
4
- s.version = '0.1.7'
4
+ s.version = '1.0.0'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "This codec may be used to decode (via inputs) and encode (via outputs) full JSON messages"
7
7
  s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
@@ -64,6 +64,29 @@ describe LogStash::Codecs::JSON do
64
64
  insist { decoded } == true
65
65
  end
66
66
  end
67
+
68
+ context "when json could not be parsed" do
69
+
70
+ let(:message) { "random_message" }
71
+
72
+ it "add the failure tag" do
73
+ subject.decode(message) do |event|
74
+ expect(event).to include "tags"
75
+ end
76
+ end
77
+
78
+ it "uses an array to store the tags" do
79
+ subject.decode(message) do |event|
80
+ expect(event['tags']).to be_a Array
81
+ end
82
+ end
83
+
84
+ it "add a json parser failure tag" do
85
+ subject.decode(message) do |event|
86
+ expect(event['tags']).to include "_jsonparsefailure"
87
+ end
88
+ end
89
+ end
67
90
  end
68
91
 
69
92
  context "#encode" do
metadata CHANGED
@@ -1,17 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-codec-json
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-20 00:00:00.000000000 Z
11
+ date: 2015-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- requirement: !ruby/object:Gem::Requirement
14
+ name: logstash-core
15
+ version_requirements: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - '>='
17
18
  - !ruby/object:Gem::Version
@@ -19,10 +20,7 @@ dependencies:
19
20
  - - <
20
21
  - !ruby/object:Gem::Version
21
22
  version: 2.0.0
22
- name: logstash-core
23
- prerelease: false
24
- type: :runtime
25
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: !ruby/object:Gem::Requirement
26
24
  requirements:
27
25
  - - '>='
28
26
  - !ruby/object:Gem::Version
@@ -30,20 +28,22 @@ dependencies:
30
28
  - - <
31
29
  - !ruby/object:Gem::Version
32
30
  version: 2.0.0
31
+ prerelease: false
32
+ type: :runtime
33
33
  - !ruby/object:Gem::Dependency
34
- requirement: !ruby/object:Gem::Requirement
34
+ name: logstash-devutils
35
+ version_requirements: !ruby/object:Gem::Requirement
35
36
  requirements:
36
37
  - - '>='
37
38
  - !ruby/object:Gem::Version
38
39
  version: '0'
39
- name: logstash-devutils
40
- prerelease: false
41
- type: :development
42
- version_requirements: !ruby/object:Gem::Requirement
40
+ requirement: !ruby/object:Gem::Requirement
43
41
  requirements:
44
42
  - - '>='
45
43
  - !ruby/object:Gem::Version
46
44
  version: '0'
45
+ prerelease: false
46
+ type: :development
47
47
  description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
48
48
  email: info@elastic.co
49
49
  executables: []
@@ -51,9 +51,11 @@ extensions: []
51
51
  extra_rdoc_files: []
52
52
  files:
53
53
  - .gitignore
54
+ - CHANGELOG.md
54
55
  - CONTRIBUTORS
55
56
  - Gemfile
56
57
  - LICENSE
58
+ - NOTICE.TXT
57
59
  - README.md
58
60
  - Rakefile
59
61
  - lib/logstash/codecs/json.rb
@@ -81,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
83
  version: '0'
82
84
  requirements: []
83
85
  rubyforge_project:
84
- rubygems_version: 2.1.9
86
+ rubygems_version: 2.2.2
85
87
  signing_key:
86
88
  specification_version: 4
87
89
  summary: This codec may be used to decode (via inputs) and encode (via outputs) full JSON messages