logstash-core 2.2.4.snapshot1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of logstash-core might be problematic. Click here for more details.

Files changed (83) hide show
  1. checksums.yaml +7 -0
  2. data/lib/logstash-core.rb +1 -0
  3. data/lib/logstash-core/logstash-core.rb +3 -0
  4. data/lib/logstash-core/version.rb +8 -0
  5. data/lib/logstash/agent.rb +391 -0
  6. data/lib/logstash/codecs/base.rb +50 -0
  7. data/lib/logstash/config/config_ast.rb +550 -0
  8. data/lib/logstash/config/cpu_core_strategy.rb +32 -0
  9. data/lib/logstash/config/defaults.rb +12 -0
  10. data/lib/logstash/config/file.rb +39 -0
  11. data/lib/logstash/config/grammar.rb +3503 -0
  12. data/lib/logstash/config/mixin.rb +518 -0
  13. data/lib/logstash/config/registry.rb +13 -0
  14. data/lib/logstash/environment.rb +98 -0
  15. data/lib/logstash/errors.rb +12 -0
  16. data/lib/logstash/filters/base.rb +205 -0
  17. data/lib/logstash/inputs/base.rb +116 -0
  18. data/lib/logstash/inputs/threadable.rb +18 -0
  19. data/lib/logstash/java_integration.rb +116 -0
  20. data/lib/logstash/json.rb +61 -0
  21. data/lib/logstash/logging.rb +91 -0
  22. data/lib/logstash/namespace.rb +13 -0
  23. data/lib/logstash/output_delegator.rb +172 -0
  24. data/lib/logstash/outputs/base.rb +91 -0
  25. data/lib/logstash/patches.rb +5 -0
  26. data/lib/logstash/patches/bugfix_jruby_2558.rb +51 -0
  27. data/lib/logstash/patches/cabin.rb +35 -0
  28. data/lib/logstash/patches/profile_require_calls.rb +47 -0
  29. data/lib/logstash/patches/rubygems.rb +38 -0
  30. data/lib/logstash/patches/stronger_openssl_defaults.rb +68 -0
  31. data/lib/logstash/pipeline.rb +499 -0
  32. data/lib/logstash/pipeline_reporter.rb +114 -0
  33. data/lib/logstash/plugin.rb +120 -0
  34. data/lib/logstash/program.rb +14 -0
  35. data/lib/logstash/runner.rb +124 -0
  36. data/lib/logstash/shutdown_watcher.rb +100 -0
  37. data/lib/logstash/util.rb +203 -0
  38. data/lib/logstash/util/buftok.rb +139 -0
  39. data/lib/logstash/util/charset.rb +35 -0
  40. data/lib/logstash/util/decorators.rb +52 -0
  41. data/lib/logstash/util/defaults_printer.rb +31 -0
  42. data/lib/logstash/util/filetools.rb +186 -0
  43. data/lib/logstash/util/java_version.rb +66 -0
  44. data/lib/logstash/util/password.rb +25 -0
  45. data/lib/logstash/util/plugin_version.rb +56 -0
  46. data/lib/logstash/util/prctl.rb +10 -0
  47. data/lib/logstash/util/retryable.rb +40 -0
  48. data/lib/logstash/util/socket_peer.rb +7 -0
  49. data/lib/logstash/util/unicode_trimmer.rb +81 -0
  50. data/lib/logstash/util/worker_threads_default_printer.rb +29 -0
  51. data/lib/logstash/util/wrapped_synchronous_queue.rb +41 -0
  52. data/lib/logstash/version.rb +14 -0
  53. data/locales/en.yml +204 -0
  54. data/logstash-core.gemspec +58 -0
  55. data/spec/conditionals_spec.rb +429 -0
  56. data/spec/logstash/agent_spec.rb +85 -0
  57. data/spec/logstash/config/config_ast_spec.rb +146 -0
  58. data/spec/logstash/config/cpu_core_strategy_spec.rb +123 -0
  59. data/spec/logstash/config/defaults_spec.rb +10 -0
  60. data/spec/logstash/config/mixin_spec.rb +158 -0
  61. data/spec/logstash/environment_spec.rb +56 -0
  62. data/spec/logstash/filters/base_spec.rb +251 -0
  63. data/spec/logstash/inputs/base_spec.rb +74 -0
  64. data/spec/logstash/java_integration_spec.rb +304 -0
  65. data/spec/logstash/json_spec.rb +96 -0
  66. data/spec/logstash/output_delegator_spec.rb +144 -0
  67. data/spec/logstash/outputs/base_spec.rb +40 -0
  68. data/spec/logstash/patches_spec.rb +90 -0
  69. data/spec/logstash/pipeline_reporter_spec.rb +85 -0
  70. data/spec/logstash/pipeline_spec.rb +455 -0
  71. data/spec/logstash/plugin_spec.rb +169 -0
  72. data/spec/logstash/runner_spec.rb +68 -0
  73. data/spec/logstash/shutdown_watcher_spec.rb +113 -0
  74. data/spec/logstash/util/buftok_spec.rb +31 -0
  75. data/spec/logstash/util/charset_spec.rb +74 -0
  76. data/spec/logstash/util/defaults_printer_spec.rb +50 -0
  77. data/spec/logstash/util/java_version_spec.rb +79 -0
  78. data/spec/logstash/util/plugin_version_spec.rb +64 -0
  79. data/spec/logstash/util/unicode_trimmer_spec.rb +55 -0
  80. data/spec/logstash/util/worker_threads_default_printer_spec.rb +45 -0
  81. data/spec/logstash/util/wrapped_synchronous_queue_spec.rb +28 -0
  82. data/spec/logstash/util_spec.rb +35 -0
  83. metadata +364 -0
@@ -0,0 +1,50 @@
1
+ # encoding: utf-8
2
+ require "spec_helper"
3
+ require "logstash/util/defaults_printer"
4
+
5
+ describe LogStash::Util::DefaultsPrinter do
6
+ shared_examples "a defaults printer" do
7
+ it 'the .print method returns a defaults description' do
8
+ expect(actual_block.call).to eq(expected)
9
+ end
10
+ end
11
+
12
+ let(:workers) { 1 }
13
+ let(:expected) { "Settings: User set pipeline workers: #{workers}" }
14
+ let(:settings) { {} }
15
+
16
+ describe 'class methods API' do
17
+ let(:actual_block) do
18
+ -> {described_class.print(settings)}
19
+ end
20
+
21
+ context 'when the settings hash is empty' do
22
+ let(:expected) { "Settings: " }
23
+ it_behaves_like "a defaults printer"
24
+ end
25
+
26
+ context 'when the settings hash has content' do
27
+ let(:worker_queue) { 42 }
28
+ let(:settings) { {:pipeline_workers => workers} }
29
+ it_behaves_like "a defaults printer"
30
+ end
31
+ end
32
+
33
+ describe 'instance method API' do
34
+ let(:actual_block) do
35
+ -> {described_class.new(settings).print}
36
+ end
37
+
38
+ context 'when the settings hash is empty' do
39
+ let(:expected) { "Settings: " }
40
+ it_behaves_like "a defaults printer"
41
+ end
42
+
43
+ context 'when the settings hash has content' do
44
+ let(:workers) { 13 }
45
+ let(:settings) { {:pipeline_workers => workers} }
46
+
47
+ it_behaves_like "a defaults printer"
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,79 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require 'logstash/util/java_version'
4
+
5
+ describe "LogStash::Util::JavaVersion" do
6
+ subject(:mod) { LogStash::Util::JavaVersion }
7
+
8
+ it "should get the current java version if we're on Java" do
9
+ if LogStash::Environment.jruby?
10
+ expect(LogStash::Util::JavaVersion.version).to be_a(String)
11
+ end
12
+ end
13
+
14
+ it "should mark a bad beta version as bad" do
15
+ expect(mod.bad_java_version?("1.7.0_45-beta")).to be_truthy
16
+ end
17
+
18
+ it "should mark a bad standard version as bad" do
19
+ expect(mod.bad_java_version?("1.6.0")).to be_truthy
20
+ end
21
+
22
+ it "should mark a good standard java version as good" do
23
+ expect(mod.bad_java_version?("1.7.0_51")).to be_falsey
24
+ end
25
+
26
+ it "should mark a good beta version as good" do
27
+ expect(mod.bad_java_version?("1.8.0-beta")).to be_falsey
28
+ end
29
+
30
+ it "should not mark non-standard javas as bad (IBM JDK)" do
31
+ expect(mod.bad_java_version?("pwi3270sr9fp10-20150708_01 (SR9 FP10)")).to be_falsey
32
+ end
33
+
34
+ describe "parsing java versions" do
35
+ it "should return nil on a nil version" do
36
+ expect(mod.parse_java_version(nil)).to be_nil
37
+ end
38
+
39
+ it "should return nil on non-hotspot javas" do
40
+ # Not sure this is what is being returned, but it doesn't match the
41
+ # regex, which is the point
42
+ expect(mod.parse_java_version("JCL - 20140103_01 based on Oracle 7u51-b11
43
+
44
+ ")).to be_nil
45
+ end
46
+
47
+ shared_examples("version parsing") do |desc, string, major, minor, patch, update, build|
48
+ context("#{desc} with version #{string}") do
49
+ subject(:parsed) { LogStash::Util::JavaVersion.parse_java_version(string) }
50
+
51
+ it "should have the correct major version" do
52
+ expect(parsed[:major]).to eql(major)
53
+ end
54
+
55
+ it "should have the correct minor version" do
56
+ expect(parsed[:minor]).to eql(minor)
57
+ end
58
+
59
+ it "should have the correct patch version" do
60
+ expect(parsed[:patch]).to eql(patch)
61
+ end
62
+
63
+ it "should have the correct update version" do
64
+ expect(parsed[:update]).to eql(update)
65
+ end
66
+
67
+ it "should have the correct build string" do
68
+ expect(parsed[:build]).to eql(build)
69
+ end
70
+ end
71
+ end
72
+
73
+ include_examples("version parsing", "a plain version", "1.3.0", 1, 3, 0, 0, nil)
74
+ include_examples("version parsing", "an update", "1.4.0_03", 1, 4, 0, 3, nil)
75
+ include_examples("version parsing", "a build", "1.4.0-beta", 1, 4, 0, 0,"beta")
76
+ include_examples("version parsing", "an update+build", "1.4.0_03-beta", 1, 4, 0, 3, "beta")
77
+ end
78
+
79
+ end
@@ -0,0 +1,64 @@
1
+ # encoding: utf-8
2
+ require "spec_helper"
3
+ require "logstash/util/plugin_version"
4
+
5
+ describe "LogStash::Util::PluginVersion" do
6
+
7
+ subject { LogStash::Util::PluginVersion }
8
+
9
+ context "#find_version!" do
10
+
11
+ let(:gem) { "bundler" }
12
+
13
+ it 'raises an PluginNoVersionError if we cant find the plugin in the gem path' do
14
+ dummy_name ='this-character-doesnt-exist-in-the-marvel-universe'
15
+ expect { subject.find_version!(dummy_name) }.to raise_error(LogStash::PluginNoVersionError)
16
+ end
17
+
18
+ it 'returns the version of the gem' do
19
+ expect { subject.find_version!(gem) }.not_to raise_error
20
+ end
21
+
22
+ context "with a pre release gem" do
23
+
24
+ it 'return the version of the gem' do
25
+ # Gem::Specification.find_by_name return nil if the gem is not activated, as for
26
+ # example the pre release ones.
27
+ expect(Gem::Specification).to receive(:find_by_name).and_return(nil)
28
+ expect { subject.find_version!(gem) }.not_to raise_error
29
+ end
30
+ end
31
+
32
+ end
33
+
34
+ context "#new" do
35
+ it 'accepts a Gem::Version instance as argument' do
36
+ version = Gem::Version.new('1.0.1')
37
+ expect(subject.new(version).to_s).to eq(version.to_s)
38
+ end
39
+
40
+ it 'accepts an array for defining the version' do
41
+ version = subject.new(1, 0, 2)
42
+ expect(version.to_s).to eq('1.0.2')
43
+ end
44
+ end
45
+
46
+ context "When comparing instances" do
47
+ it 'allow to check if the version is newer or older' do
48
+ old_version = subject.new(0, 1, 0)
49
+ new_version = subject.new(1, 0, 1)
50
+
51
+ expect(old_version).to be < new_version
52
+ expect(old_version).to be <= new_version
53
+ expect(new_version).to be > old_version
54
+ expect(new_version).to be >= old_version
55
+ end
56
+
57
+ it 'return true if the version are equal' do
58
+ version1 = subject.new(0, 1, 0)
59
+ version2 = subject.new(0, 1, 0)
60
+
61
+ expect(version1).to eq(version2)
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,55 @@
1
+ # encoding: utf-8
2
+ require "spec_helper"
3
+ require "logstash/util/unicode_trimmer"
4
+ require "flores/rspec"
5
+ require "flores/random"
6
+
7
+ RSpec.configure do |config|
8
+ Flores::RSpec.configure(config)
9
+ end
10
+
11
+ describe "truncating unicode strings correctly" do
12
+ subject { LogStash::Util::UnicodeTrimmer }
13
+
14
+ context "with extra bytes before the snip" do
15
+ let(:ustr) { "Testing «ταБЬℓσ»: 1<2 & 4+1>3, now 20% off!" }
16
+
17
+ it "should truncate to exact byte boundaries when possible" do
18
+ expect(subject.trim_bytes(ustr, 21).bytesize).to eql(21)
19
+ end
20
+
21
+ it "should truncate below the bytesize when splitting a byte" do
22
+ expect(subject.trim_bytes(ustr, 20).bytesize).to eql(18)
23
+ end
24
+
25
+ it "should not truncate the string when the bytesize is already OK" do
26
+ expect(subject.trim_bytes(ustr, ustr.bytesize)).to eql(ustr)
27
+ end
28
+ end
29
+
30
+ context "with extra bytes after the snip" do
31
+ let(:ustr) { ": 1<2 & 4+1>3, now 20% off! testing «ταБЬℓσ»" }
32
+
33
+ it "should truncate to exact byte boundaries when possible" do
34
+ expect(subject.trim_bytes(ustr, 21).bytesize).to eql(21)
35
+ end
36
+
37
+ it "should truncate below the bytesize when splitting a byte" do
38
+ expect(subject.trim_bytes(ustr, 52).bytesize).to eql(51)
39
+ end
40
+
41
+ it "should not truncate the string when the bytesize is already OK" do
42
+ expect(subject.trim_bytes(ustr, ustr.bytesize)).to eql(ustr)
43
+ end
44
+ end
45
+
46
+ context "randomized testing" do
47
+ let(:text) { Flores::Random.text(1..1000) }
48
+ let(:size) { Flores::Random.integer(1..text.bytesize) }
49
+ let(:expected_range) { (size - 4)..size }
50
+
51
+ stress_it "should be near the boundary of requested size" do
52
+ expect(expected_range).to include(subject.trim_bytes(text, size).bytesize)
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,45 @@
1
+ # encoding: utf-8
2
+ require "spec_helper"
3
+ require "logstash/util/worker_threads_default_printer"
4
+
5
+ describe LogStash::Util::WorkerThreadsDefaultPrinter do
6
+ let(:settings) { {} }
7
+ let(:collector) { [] }
8
+
9
+ subject { described_class.new(settings) }
10
+
11
+ before { subject.visit(collector) }
12
+
13
+ describe "the #visit method" do
14
+ context 'when the settings hash is empty' do
15
+ it 'adds nothing to the collector' do
16
+ subject.visit(collector)
17
+ expect(collector).to eq([])
18
+ end
19
+ end
20
+
21
+ context 'when the settings hash has both user and default content' do
22
+ let(:settings) { {:pipeline_workers => 42, :default_pipeline_workers => 5} }
23
+
24
+ it 'adds two strings' do
25
+ expect(collector).to eq(["User set pipeline workers: 42", "Default pipeline workers: 5"])
26
+ end
27
+ end
28
+
29
+ context 'when the settings hash has only user content' do
30
+ let(:settings) { {:pipeline_workers => 42} }
31
+
32
+ it 'adds a string with user set pipeline workers' do
33
+ expect(collector.first).to eq("User set pipeline workers: 42")
34
+ end
35
+ end
36
+
37
+ context 'when the settings hash has only default content' do
38
+ let(:settings) { {:default_pipeline_workers => 5} }
39
+
40
+ it 'adds a string with default pipeline workers' do
41
+ expect(collector.first).to eq("Default pipeline workers: 5")
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,28 @@
1
+ # encoding: utf-8
2
+ require "spec_helper"
3
+ require "logstash/util/wrapped_synchronous_queue"
4
+
5
+ describe LogStash::Util::WrappedSynchronousQueue do
6
+ context "#offer" do
7
+ context "queue is blocked" do
8
+ it "fails and give feedback" do
9
+ expect(subject.offer("Bonjour", 2)).to be_falsey
10
+ end
11
+ end
12
+
13
+ context "queue is not blocked" do
14
+ before do
15
+ @consumer = Thread.new { loop { subject.take } }
16
+ sleep(0.1)
17
+ end
18
+
19
+ after do
20
+ @consumer.kill
21
+ end
22
+
23
+ it "inserts successfully" do
24
+ expect(subject.offer("Bonjour", 20)).to be_truthy
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,35 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ require "logstash/util"
5
+
6
+ describe LogStash::Util do
7
+
8
+ context "stringify_keys" do
9
+ it "should convert hash symbol keys to strings" do
10
+ expect(LogStash::Util.stringify_symbols({:a => 1, "b" => 2})).to eq({"a" => 1, "b" => 2})
11
+ end
12
+
13
+ it "should keep non symbolic hash keys as is" do
14
+ expect(LogStash::Util.stringify_symbols({1 => 1, 2.0 => 2})).to eq({1 => 1, 2.0 => 2})
15
+ end
16
+
17
+ it "should convert inner hash keys to strings" do
18
+ expect(LogStash::Util.stringify_symbols({:a => 1, "b" => {:c => 3}})).to eq({"a" => 1, "b" => {"c" => 3}})
19
+ expect(LogStash::Util.stringify_symbols([:a, 1, "b", {:c => 3}])).to eq(["a", 1, "b", {"c" => 3}])
20
+ end
21
+
22
+ it "should convert hash symbol values to strings" do
23
+ expect(LogStash::Util.stringify_symbols({:a => :a, "b" => :b})).to eq({"a" => "a", "b" => "b"})
24
+ end
25
+
26
+ it "should convert array symbol values to strings" do
27
+ expect(LogStash::Util.stringify_symbols([1, :a])).to eq([1, "a"])
28
+ end
29
+
30
+ it "should convert innner array symbol values to strings" do
31
+ expect(LogStash::Util.stringify_symbols({:a => [1, :b]})).to eq({"a" => [1, "b"]})
32
+ expect(LogStash::Util.stringify_symbols([:a, [1, :b]])).to eq(["a", [1, "b"]])
33
+ end
34
+ end
35
+ end
metadata ADDED
@@ -0,0 +1,364 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: logstash-core
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.2.4.snapshot1
5
+ platform: ruby
6
+ authors:
7
+ - Elastic
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-04-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: logstash-core-event
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 2.2.4.snapshot1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.2.4.snapshot1
27
+ - !ruby/object:Gem::Dependency
28
+ name: cabin
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.7.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.7.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.10.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.10.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: stud
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.0.19
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.0.19
69
+ - !ruby/object:Gem::Dependency
70
+ name: clamp
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.6.5
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.6.5
83
+ - !ruby/object:Gem::Dependency
84
+ name: filesize
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 0.0.4
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.0.4
97
+ - !ruby/object:Gem::Dependency
98
+ name: gems
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.8.3
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.8.3
111
+ - !ruby/object:Gem::Dependency
112
+ name: concurrent-ruby
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 0.9.2
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 0.9.2
125
+ - !ruby/object:Gem::Dependency
126
+ name: jruby-openssl
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
131
+ version: 0.9.13
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 0.9.13
139
+ - !ruby/object:Gem::Dependency
140
+ name: treetop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "<"
144
+ - !ruby/object:Gem::Version
145
+ version: 1.5.0
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "<"
151
+ - !ruby/object:Gem::Version
152
+ version: 1.5.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: i18n
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 0.6.9
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 0.6.9
167
+ - !ruby/object:Gem::Dependency
168
+ name: minitar
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 0.5.4
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 0.5.4
181
+ - !ruby/object:Gem::Dependency
182
+ name: rubyzip
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 1.1.7
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 1.1.7
195
+ - !ruby/object:Gem::Dependency
196
+ name: thread_safe
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 0.3.5
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 0.3.5
209
+ - !ruby/object:Gem::Dependency
210
+ name: oj
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ description: The core components of logstash, the scalable log and event management
224
+ tool
225
+ email:
226
+ - info@elastic.co
227
+ executables: []
228
+ extensions: []
229
+ extra_rdoc_files: []
230
+ files:
231
+ - lib/logstash-core.rb
232
+ - lib/logstash-core/logstash-core.rb
233
+ - lib/logstash-core/version.rb
234
+ - lib/logstash/agent.rb
235
+ - lib/logstash/codecs/base.rb
236
+ - lib/logstash/config/config_ast.rb
237
+ - lib/logstash/config/cpu_core_strategy.rb
238
+ - lib/logstash/config/defaults.rb
239
+ - lib/logstash/config/file.rb
240
+ - lib/logstash/config/grammar.rb
241
+ - lib/logstash/config/mixin.rb
242
+ - lib/logstash/config/registry.rb
243
+ - lib/logstash/environment.rb
244
+ - lib/logstash/errors.rb
245
+ - lib/logstash/filters/base.rb
246
+ - lib/logstash/inputs/base.rb
247
+ - lib/logstash/inputs/threadable.rb
248
+ - lib/logstash/java_integration.rb
249
+ - lib/logstash/json.rb
250
+ - lib/logstash/logging.rb
251
+ - lib/logstash/namespace.rb
252
+ - lib/logstash/output_delegator.rb
253
+ - lib/logstash/outputs/base.rb
254
+ - lib/logstash/patches.rb
255
+ - lib/logstash/patches/bugfix_jruby_2558.rb
256
+ - lib/logstash/patches/cabin.rb
257
+ - lib/logstash/patches/profile_require_calls.rb
258
+ - lib/logstash/patches/rubygems.rb
259
+ - lib/logstash/patches/stronger_openssl_defaults.rb
260
+ - lib/logstash/pipeline.rb
261
+ - lib/logstash/pipeline_reporter.rb
262
+ - lib/logstash/plugin.rb
263
+ - lib/logstash/program.rb
264
+ - lib/logstash/runner.rb
265
+ - lib/logstash/shutdown_watcher.rb
266
+ - lib/logstash/util.rb
267
+ - lib/logstash/util/buftok.rb
268
+ - lib/logstash/util/charset.rb
269
+ - lib/logstash/util/decorators.rb
270
+ - lib/logstash/util/defaults_printer.rb
271
+ - lib/logstash/util/filetools.rb
272
+ - lib/logstash/util/java_version.rb
273
+ - lib/logstash/util/password.rb
274
+ - lib/logstash/util/plugin_version.rb
275
+ - lib/logstash/util/prctl.rb
276
+ - lib/logstash/util/retryable.rb
277
+ - lib/logstash/util/socket_peer.rb
278
+ - lib/logstash/util/unicode_trimmer.rb
279
+ - lib/logstash/util/worker_threads_default_printer.rb
280
+ - lib/logstash/util/wrapped_synchronous_queue.rb
281
+ - lib/logstash/version.rb
282
+ - locales/en.yml
283
+ - logstash-core.gemspec
284
+ - spec/conditionals_spec.rb
285
+ - spec/logstash/agent_spec.rb
286
+ - spec/logstash/config/config_ast_spec.rb
287
+ - spec/logstash/config/cpu_core_strategy_spec.rb
288
+ - spec/logstash/config/defaults_spec.rb
289
+ - spec/logstash/config/mixin_spec.rb
290
+ - spec/logstash/environment_spec.rb
291
+ - spec/logstash/filters/base_spec.rb
292
+ - spec/logstash/inputs/base_spec.rb
293
+ - spec/logstash/java_integration_spec.rb
294
+ - spec/logstash/json_spec.rb
295
+ - spec/logstash/output_delegator_spec.rb
296
+ - spec/logstash/outputs/base_spec.rb
297
+ - spec/logstash/patches_spec.rb
298
+ - spec/logstash/pipeline_reporter_spec.rb
299
+ - spec/logstash/pipeline_spec.rb
300
+ - spec/logstash/plugin_spec.rb
301
+ - spec/logstash/runner_spec.rb
302
+ - spec/logstash/shutdown_watcher_spec.rb
303
+ - spec/logstash/util/buftok_spec.rb
304
+ - spec/logstash/util/charset_spec.rb
305
+ - spec/logstash/util/defaults_printer_spec.rb
306
+ - spec/logstash/util/java_version_spec.rb
307
+ - spec/logstash/util/plugin_version_spec.rb
308
+ - spec/logstash/util/unicode_trimmer_spec.rb
309
+ - spec/logstash/util/worker_threads_default_printer_spec.rb
310
+ - spec/logstash/util/wrapped_synchronous_queue_spec.rb
311
+ - spec/logstash/util_spec.rb
312
+ homepage: http://www.elastic.co/guide/en/logstash/current/index.html
313
+ licenses:
314
+ - Apache License (2.0)
315
+ metadata: {}
316
+ post_install_message:
317
+ rdoc_options: []
318
+ require_paths:
319
+ - lib
320
+ required_ruby_version: !ruby/object:Gem::Requirement
321
+ requirements:
322
+ - - ">="
323
+ - !ruby/object:Gem::Version
324
+ version: '0'
325
+ required_rubygems_version: !ruby/object:Gem::Requirement
326
+ requirements:
327
+ - - ">"
328
+ - !ruby/object:Gem::Version
329
+ version: 1.3.1
330
+ requirements: []
331
+ rubyforge_project:
332
+ rubygems_version: 2.5.1
333
+ signing_key:
334
+ specification_version: 4
335
+ summary: logstash-core - The core components of logstash
336
+ test_files:
337
+ - spec/conditionals_spec.rb
338
+ - spec/logstash/agent_spec.rb
339
+ - spec/logstash/config/config_ast_spec.rb
340
+ - spec/logstash/config/cpu_core_strategy_spec.rb
341
+ - spec/logstash/config/defaults_spec.rb
342
+ - spec/logstash/config/mixin_spec.rb
343
+ - spec/logstash/environment_spec.rb
344
+ - spec/logstash/filters/base_spec.rb
345
+ - spec/logstash/inputs/base_spec.rb
346
+ - spec/logstash/java_integration_spec.rb
347
+ - spec/logstash/json_spec.rb
348
+ - spec/logstash/output_delegator_spec.rb
349
+ - spec/logstash/outputs/base_spec.rb
350
+ - spec/logstash/patches_spec.rb
351
+ - spec/logstash/pipeline_reporter_spec.rb
352
+ - spec/logstash/pipeline_spec.rb
353
+ - spec/logstash/plugin_spec.rb
354
+ - spec/logstash/runner_spec.rb
355
+ - spec/logstash/shutdown_watcher_spec.rb
356
+ - spec/logstash/util/buftok_spec.rb
357
+ - spec/logstash/util/charset_spec.rb
358
+ - spec/logstash/util/defaults_printer_spec.rb
359
+ - spec/logstash/util/java_version_spec.rb
360
+ - spec/logstash/util/plugin_version_spec.rb
361
+ - spec/logstash/util/unicode_trimmer_spec.rb
362
+ - spec/logstash/util/worker_threads_default_printer_spec.rb
363
+ - spec/logstash/util/wrapped_synchronous_queue_spec.rb
364
+ - spec/logstash/util_spec.rb