logstash-core 2.2.4.snapshot1

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.

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