logstash-core 5.0.0.alpha6.snapshot5-java → 5.0.0-java
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.
- checksums.yaml +4 -4
- data/lib/jars.rb +1 -1
- data/lib/logstash-core/version.rb +1 -1
- data/lib/logstash/agent.rb +45 -11
- data/lib/logstash/api/app_helpers.rb +43 -7
- data/lib/logstash/api/commands/stats.rb +2 -1
- data/lib/logstash/api/errors.rb +28 -0
- data/lib/logstash/api/modules/base.rb +9 -7
- data/lib/logstash/api/modules/logging.rb +52 -0
- data/lib/logstash/api/modules/node.rb +13 -9
- data/lib/logstash/api/modules/root.rb +0 -2
- data/lib/logstash/api/modules/stats.rb +0 -2
- data/lib/logstash/api/rack_app.rb +5 -3
- data/lib/logstash/environment.rb +4 -5
- data/lib/logstash/instrument/collector.rb +4 -0
- data/lib/logstash/instrument/metric_store.rb +27 -2
- data/lib/logstash/logging/logger.rb +15 -4
- data/lib/logstash/patches/puma.rb +44 -0
- data/lib/logstash/pipeline.rb +8 -15
- data/lib/logstash/runner.rb +31 -17
- data/lib/logstash/settings.rb +34 -9
- data/lib/logstash/util/wrapped_synchronous_queue.rb +26 -9
- data/lib/logstash/version.rb +1 -1
- data/lib/logstash/webserver.rb +13 -2
- data/locales/en.yml +7 -2
- data/logstash-core.gemspec +1 -1
- data/spec/api/lib/api/logging_spec.rb +41 -0
- data/spec/api/lib/api/node_plugins_spec.rb +4 -3
- data/spec/api/lib/api/node_spec.rb +2 -0
- data/spec/api/lib/api/node_stats_spec.rb +2 -0
- data/spec/api/lib/api/plugins_spec.rb +3 -1
- data/spec/api/lib/api/root_spec.rb +3 -0
- data/spec/api/lib/errors_spec.rb +27 -0
- data/spec/api/lib/rack_app_spec.rb +4 -4
- data/spec/logstash/agent_spec.rb +112 -26
- data/spec/logstash/instrument/metric_store_spec.rb +37 -0
- data/spec/logstash/pipeline_spec.rb +54 -0
- data/spec/logstash/runner_spec.rb +2 -1
- data/spec/logstash/setting_spec.rb +23 -1
- data/spec/logstash/settings/string_spec.rb +1 -1
- data/spec/logstash/settings_spec.rb +27 -0
- data/spec/logstash/util/wrapped_synchronous_queue_spec.rb +49 -11
- data/spec/logstash/webserver_spec.rb +76 -18
- data/spec/support/helpers.rb +8 -0
- data/spec/support/mocks_classes.rb +22 -0
- data/spec/support/shared_examples.rb +10 -0
- data/vendor/jars/org/logstash/logstash-core/{5.0.0-alpha6/logstash-core-5.0.0-alpha6.jar → 5.0.0/logstash-core-5.0.0.jar} +0 -0
- metadata +16 -7
@@ -100,6 +100,60 @@ describe LogStash::Pipeline do
|
|
100
100
|
pipeline_settings_obj.reset
|
101
101
|
end
|
102
102
|
|
103
|
+
|
104
|
+
describe "event cancellation" do
|
105
|
+
# test harness for https://github.com/elastic/logstash/issues/6055
|
106
|
+
|
107
|
+
let(:output) { DummyOutputWithEventsArray.new }
|
108
|
+
|
109
|
+
before do
|
110
|
+
allow(LogStash::Plugin).to receive(:lookup).with("input", "generator").and_return(LogStash::Inputs::Generator)
|
111
|
+
allow(LogStash::Plugin).to receive(:lookup).with("output", "dummyoutputwitheventsarray").and_return(DummyOutputWithEventsArray)
|
112
|
+
allow(LogStash::Plugin).to receive(:lookup).with("filter", "drop").and_call_original
|
113
|
+
allow(LogStash::Plugin).to receive(:lookup).with("filter", "mutate").and_call_original
|
114
|
+
allow(LogStash::Plugin).to receive(:lookup).with("codec", "plain").and_call_original
|
115
|
+
allow(DummyOutputWithEventsArray).to receive(:new).with(any_args).and_return(output)
|
116
|
+
end
|
117
|
+
|
118
|
+
let(:config) do
|
119
|
+
<<-CONFIG
|
120
|
+
input {
|
121
|
+
generator {
|
122
|
+
lines => ["1", "2", "END"]
|
123
|
+
count => 1
|
124
|
+
}
|
125
|
+
}
|
126
|
+
filter {
|
127
|
+
if [message] == "1" {
|
128
|
+
drop {}
|
129
|
+
}
|
130
|
+
mutate { add_tag => ["notdropped"] }
|
131
|
+
}
|
132
|
+
output { dummyoutputwitheventsarray {} }
|
133
|
+
CONFIG
|
134
|
+
end
|
135
|
+
|
136
|
+
it "should not propage cancelled events from filter to output" do
|
137
|
+
abort_on_exception_state = Thread.abort_on_exception
|
138
|
+
Thread.abort_on_exception = true
|
139
|
+
|
140
|
+
pipeline = LogStash::Pipeline.new(config, pipeline_settings_obj)
|
141
|
+
Thread.new { pipeline.run }
|
142
|
+
sleep 0.1 while !pipeline.ready?
|
143
|
+
wait(3).for do
|
144
|
+
# give us a bit of time to flush the events
|
145
|
+
# puts("*****" + output.events.map{|e| e.message}.to_s)
|
146
|
+
output.events.map{|e| e.get("message")}.include?("END")
|
147
|
+
end.to be_truthy
|
148
|
+
expect(output.events.size).to eq(2)
|
149
|
+
expect(output.events[0].get("tags")).to eq(["notdropped"])
|
150
|
+
expect(output.events[1].get("tags")).to eq(["notdropped"])
|
151
|
+
pipeline.shutdown
|
152
|
+
|
153
|
+
Thread.abort_on_exception = abort_on_exception_state
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
103
157
|
describe "defaulting the pipeline workers based on thread safety" do
|
104
158
|
before(:each) do
|
105
159
|
allow(LogStash::Plugin).to receive(:lookup).with("input", "dummyinput").and_return(DummyInput)
|
@@ -21,6 +21,7 @@ describe LogStash::Runner do
|
|
21
21
|
allow(LogStash::Runner).to receive(:logger).and_return(logger)
|
22
22
|
allow(logger).to receive(:debug?).and_return(true)
|
23
23
|
allow(logger).to receive(:subscribe).with(any_args)
|
24
|
+
allow(logger).to receive(:debug) {}
|
24
25
|
allow(logger).to receive(:log) {}
|
25
26
|
allow(logger).to receive(:info) {}
|
26
27
|
allow(logger).to receive(:fatal) {}
|
@@ -279,7 +280,7 @@ describe LogStash::Runner do
|
|
279
280
|
it "should set log level to warn" do
|
280
281
|
args = ["--version"]
|
281
282
|
subject.run("bin/logstash", args)
|
282
|
-
expect(logger.level).to eq(:
|
283
|
+
expect(logger.level).to eq(:info)
|
283
284
|
end
|
284
285
|
end
|
285
286
|
context "when setting to debug" do
|
@@ -63,6 +63,7 @@ describe LogStash::Setting do
|
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
66
|
+
|
66
67
|
describe "#set" do
|
67
68
|
subject { described_class.new("number", Numeric, 1) }
|
68
69
|
it "should change the value of a setting" do
|
@@ -77,12 +78,33 @@ describe LogStash::Setting do
|
|
77
78
|
expect(subject.set?).to eq(true)
|
78
79
|
end
|
79
80
|
end
|
80
|
-
|
81
81
|
context "when the argument's class does not match @klass" do
|
82
82
|
it "should throw an exception" do
|
83
83
|
expect { subject.set("not a number") }.to raise_error
|
84
84
|
end
|
85
85
|
end
|
86
|
+
context "when strict=false" do
|
87
|
+
let(:strict) { false }
|
88
|
+
subject { described_class.new("number", Numeric, 1, strict) }
|
89
|
+
before do
|
90
|
+
expect(subject).not_to receive(:validate)
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should not call #validate" do
|
94
|
+
subject.set(123)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
context "when strict=true" do
|
98
|
+
let(:strict) { true }
|
99
|
+
subject { described_class.new("number", Numeric, 1, strict) }
|
100
|
+
before do
|
101
|
+
expect(subject).to receive(:validate)
|
102
|
+
end
|
103
|
+
|
104
|
+
it "should call #validate" do
|
105
|
+
subject.set(123)
|
106
|
+
end
|
107
|
+
end
|
86
108
|
end
|
87
109
|
|
88
110
|
describe "#reset" do
|
@@ -4,7 +4,7 @@ require "logstash/settings"
|
|
4
4
|
|
5
5
|
describe LogStash::Setting::String do
|
6
6
|
let(:possible_values) { ["a", "b", "c"] }
|
7
|
-
subject { described_class.new("mytext",
|
7
|
+
subject { described_class.new("mytext", possible_values.first, true, possible_values) }
|
8
8
|
describe "#set" do
|
9
9
|
context "when a value is given outside of possible_values" do
|
10
10
|
it "should raise an ArgumentError" do
|
@@ -59,4 +59,31 @@ describe LogStash::Settings do
|
|
59
59
|
expect(subset.get("num.2")).to eq(1000)
|
60
60
|
end
|
61
61
|
end
|
62
|
+
|
63
|
+
describe "#validate_all" do
|
64
|
+
subject { described_class.new }
|
65
|
+
let(:numeric_setting_name) { "example" }
|
66
|
+
let(:numeric_setting) { LogStash::Setting.new(numeric_setting_name, Numeric, 1, false) }
|
67
|
+
|
68
|
+
before do
|
69
|
+
subject.register(numeric_setting)
|
70
|
+
subject.set_value(numeric_setting_name, value)
|
71
|
+
end
|
72
|
+
|
73
|
+
context "when any setting is invalid" do
|
74
|
+
let(:value) { "some string" }
|
75
|
+
|
76
|
+
it "should fail" do
|
77
|
+
expect { subject.validate_all }.to raise_error
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
context "when all settings are valid" do
|
82
|
+
let(:value) { 123 }
|
83
|
+
|
84
|
+
it "should succeed" do
|
85
|
+
expect { subject.validate_all }.not_to raise_error
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
62
89
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require "spec_helper"
|
3
3
|
require "logstash/util/wrapped_synchronous_queue"
|
4
|
+
require "logstash/instrument/collector"
|
4
5
|
|
5
6
|
describe LogStash::Util::WrappedSynchronousQueue do
|
6
7
|
context "#offer" do
|
@@ -45,11 +46,47 @@ describe LogStash::Util::WrappedSynchronousQueue do
|
|
45
46
|
end
|
46
47
|
|
47
48
|
describe "WriteClient | ReadClient" do
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
let(:queue) { DummyQueue.new }
|
50
|
+
let(:write_client) { LogStash::Util::WrappedSynchronousQueue::WriteClient.new(queue)}
|
51
|
+
let(:read_client) { LogStash::Util::WrappedSynchronousQueue::ReadClient.new(queue)}
|
52
|
+
|
53
|
+
context "when reading from the queue" do
|
54
|
+
let(:collector) { LogStash::Instrument::Collector.new }
|
55
|
+
|
56
|
+
before do
|
57
|
+
read_client.set_events_metric(LogStash::Instrument::Metric.new(collector).namespace(:events))
|
58
|
+
read_client.set_pipeline_metric(LogStash::Instrument::Metric.new(collector).namespace(:pipeline))
|
59
|
+
end
|
60
|
+
|
61
|
+
context "when the queue is empty" do
|
62
|
+
it "doesnt record the `duration_in_millis`" do
|
63
|
+
batch = read_client.take_batch
|
64
|
+
read_client.close_batch(batch)
|
65
|
+
store = collector.snapshot_metric.metric_store
|
66
|
+
expect(store.size).to eq(0)
|
67
|
+
end
|
68
|
+
end
|
52
69
|
|
70
|
+
context "when we have item in the queue" do
|
71
|
+
it "records the `duration_in_millis`" do
|
72
|
+
batch = write_client.get_new_batch
|
73
|
+
5.times {|i| batch.push("value-#{i}")}
|
74
|
+
write_client.push_batch(batch)
|
75
|
+
read_batch = read_client.take_batch
|
76
|
+
sleep(0.1) # simulate some work?
|
77
|
+
read_client.close_batch(batch)
|
78
|
+
store = collector.snapshot_metric.metric_store
|
79
|
+
|
80
|
+
expect(store.size).to eq(4)
|
81
|
+
expect(store.get_shallow(:events, :in).value).to eq(5)
|
82
|
+
expect(store.get_shallow(:events, :duration_in_millis).value).to be > 0
|
83
|
+
expect(store.get_shallow(:pipeline, :in).value).to eq(5)
|
84
|
+
expect(store.get_shallow(:pipeline, :duration_in_millis).value).to be > 0
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
context "when writing to the queue" do
|
53
90
|
before :each do
|
54
91
|
read_client.set_events_metric(LogStash::Instrument::NullMetric.new)
|
55
92
|
read_client.set_pipeline_metric(LogStash::Instrument::NullMetric.new)
|
@@ -57,22 +94,23 @@ describe LogStash::Util::WrappedSynchronousQueue do
|
|
57
94
|
|
58
95
|
it "appends batches to the queue" do
|
59
96
|
batch = write_client.get_new_batch
|
60
|
-
5.times {|i| batch.push("value-#{i}")}
|
97
|
+
5.times {|i| batch.push(LogStash::Event.new({"message" => "value-#{i}"}))}
|
61
98
|
write_client.push_batch(batch)
|
62
99
|
read_batch = read_client.take_batch
|
63
100
|
expect(read_batch.size).to eq(5)
|
64
101
|
i = 0
|
65
102
|
read_batch.each do |data|
|
66
|
-
expect(data).to eq("value-#{i}")
|
67
|
-
read_batch.cancel("value-#{i}") if i > 2
|
68
|
-
|
103
|
+
expect(data.get("message")).to eq("value-#{i}")
|
104
|
+
# read_batch.cancel("value-#{i}") if i > 2 # TODO: disabled for https://github.com/elastic/logstash/issues/6055 - will have to properly refactor
|
105
|
+
data.cancel if i > 2
|
106
|
+
read_batch.merge(LogStash::Event.new({"message" => "generated-#{i}"})) if i > 2
|
69
107
|
i += 1
|
70
108
|
end
|
71
|
-
expect(read_batch.cancelled_size).to eq(2)
|
109
|
+
# expect(read_batch.cancelled_size).to eq(2) # disabled for https://github.com/elastic/logstash/issues/6055
|
72
110
|
i = 0
|
73
111
|
read_batch.each do |data|
|
74
|
-
expect(data).to eq("value-#{i}") if i < 3
|
75
|
-
expect(data).to eq("generated-#{i}") if i > 2
|
112
|
+
expect(data.get("message")).to eq("value-#{i}") if i < 3
|
113
|
+
expect(data.get("message")).to eq("generated-#{i}") if i > 2
|
76
114
|
i += 1
|
77
115
|
end
|
78
116
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# require "logstash/json"
|
3
3
|
require "logstash/webserver"
|
4
|
+
require_relative "../support/helpers"
|
4
5
|
require "socket"
|
5
6
|
require "spec_helper"
|
6
7
|
require "open-uri"
|
@@ -9,11 +10,15 @@ def block_ports(range)
|
|
9
10
|
servers = []
|
10
11
|
|
11
12
|
range.each do |port|
|
12
|
-
|
13
|
-
|
14
|
-
|
13
|
+
begin
|
14
|
+
server = TCPServer.new("localhost", port)
|
15
|
+
Thread.new do
|
16
|
+
client = server.accept rescue nil
|
17
|
+
end
|
18
|
+
servers << server
|
19
|
+
rescue => e
|
20
|
+
# The port can already be taken
|
15
21
|
end
|
16
|
-
servers << server
|
17
22
|
end
|
18
23
|
|
19
24
|
sleep(1)
|
@@ -36,29 +41,56 @@ describe LogStash::WebServer do
|
|
36
41
|
Thread.abort_on_exception = @abort
|
37
42
|
end
|
38
43
|
|
39
|
-
let(:logger) {
|
44
|
+
let(:logger) { LogStash::Logging::Logger.new("testing") }
|
40
45
|
let(:agent) { double("agent") }
|
41
46
|
let(:webserver) { double("webserver") }
|
42
47
|
|
43
48
|
before :each do
|
44
|
-
[:info, :warn, :error, :fatal, :debug].each do |level|
|
45
|
-
allow(logger).to receive(level)
|
46
|
-
end
|
47
|
-
[:info?, :warn?, :error?, :fatal?, :debug?].each do |level|
|
48
|
-
allow(logger).to receive(level)
|
49
|
-
end
|
50
|
-
|
51
49
|
allow(webserver).to receive(:address).and_return("127.0.0.1")
|
52
50
|
allow(agent).to receive(:webserver).and_return(webserver)
|
53
51
|
end
|
54
52
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
53
|
+
subject { LogStash::WebServer.new(logger,
|
54
|
+
agent,
|
55
|
+
{ :http_host => "localhost", :http_ports => port_range })}
|
56
|
+
|
57
|
+
let(:port_range) { 10000..10010 }
|
58
|
+
|
59
|
+
context "when an exception occur in the server thread" do
|
60
|
+
let(:spy_output) { spy("stderr").as_null_object }
|
61
|
+
|
62
|
+
it "should not log to STDERR" do
|
63
|
+
backup_stderr = STDERR
|
64
|
+
backup_stdout = STDOUT
|
65
|
+
|
66
|
+
# We are redefining constants, so lets silence the warning
|
67
|
+
silence_warnings do
|
68
|
+
STDOUT = STDERR = spy_output
|
69
|
+
end
|
70
|
+
|
71
|
+
expect(spy_output).not_to receive(:puts).with(any_args)
|
72
|
+
expect(spy_output).not_to receive(:write).with(any_args)
|
73
|
+
|
74
|
+
# This trigger an infinite loop in the reactor
|
75
|
+
expect(IO).to receive(:select).and_raise(IOError).at_least(:once)
|
76
|
+
|
77
|
+
t = Thread.new do
|
78
|
+
subject.run
|
79
|
+
end
|
80
|
+
|
81
|
+
sleep(1)
|
82
|
+
|
83
|
+
# We cannot use stop here, since the code is stuck in an infinite loop
|
84
|
+
t.kill rescue nil
|
60
85
|
|
61
|
-
|
86
|
+
silence_warnings do
|
87
|
+
STDERR = backup_stderr
|
88
|
+
STDOUT = backup_stdout
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
context "when the port is already in use and a range is provided" do
|
62
94
|
after(:each) { free_ports(@servers) }
|
63
95
|
|
64
96
|
context "when we have available ports" do
|
@@ -93,3 +125,29 @@ describe LogStash::WebServer do
|
|
93
125
|
end
|
94
126
|
end
|
95
127
|
end
|
128
|
+
|
129
|
+
describe LogStash::IOWrappedLogger do
|
130
|
+
let(:logger) { spy("logger") }
|
131
|
+
let(:message) { "foobar" }
|
132
|
+
|
133
|
+
subject { described_class.new(logger) }
|
134
|
+
|
135
|
+
it "responds to puts" do
|
136
|
+
subject.puts(message)
|
137
|
+
expect(logger).to have_received(:debug).with(message)
|
138
|
+
end
|
139
|
+
|
140
|
+
it "responds to write" do
|
141
|
+
subject.write(message)
|
142
|
+
expect(logger).to have_received(:debug).with(message)
|
143
|
+
end
|
144
|
+
|
145
|
+
it "reponds to <<" do
|
146
|
+
subject << message
|
147
|
+
expect(logger).to have_received(:debug).with(message)
|
148
|
+
end
|
149
|
+
|
150
|
+
it "responds to sync=(v)" do
|
151
|
+
expect{ subject.sync = true }.not_to raise_error
|
152
|
+
end
|
153
|
+
end
|
@@ -25,3 +25,25 @@ class DummyOutput < LogStash::Outputs::Base
|
|
25
25
|
@num_closes = 1
|
26
26
|
end
|
27
27
|
end
|
28
|
+
|
29
|
+
class DummyOutputWithEventsArray < LogStash::Outputs::Base
|
30
|
+
config_name "dummyoutput2"
|
31
|
+
milestone 2
|
32
|
+
|
33
|
+
attr_reader :events
|
34
|
+
|
35
|
+
def initialize(params={})
|
36
|
+
super
|
37
|
+
@events = []
|
38
|
+
end
|
39
|
+
|
40
|
+
def register
|
41
|
+
end
|
42
|
+
|
43
|
+
def receive(event)
|
44
|
+
@events << event
|
45
|
+
end
|
46
|
+
|
47
|
+
def close
|
48
|
+
end
|
49
|
+
end
|
@@ -95,4 +95,14 @@ shared_examples "metrics commons operations" do
|
|
95
95
|
end
|
96
96
|
end
|
97
97
|
|
98
|
+
shared_examples "not found" do
|
99
|
+
it "should return a 404 to unknown request" do
|
100
|
+
do_request { get "/i_want_to_believe-#{Time.now.to_i}" }
|
101
|
+
expect(last_response.content_type).to eq("application/json")
|
102
|
+
expect(last_response).not_to be_ok
|
103
|
+
expect(last_response.status).to eq(404)
|
104
|
+
expect(LogStash::Json.load(last_response.body)).to include("status" => 404)
|
105
|
+
expect(LogStash::Json.load(last_response.body)["path"]).not_to be_nil
|
106
|
+
end
|
107
|
+
end
|
98
108
|
|
Binary file
|
metadata
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.0
|
4
|
+
version: 5.0.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
16
|
- - '='
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: 5.0.0
|
18
|
+
version: 5.0.0
|
19
19
|
name: logstash-core-event-java
|
20
20
|
prerelease: false
|
21
21
|
type: :runtime
|
@@ -23,7 +23,7 @@ dependencies:
|
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 5.0.0
|
26
|
+
version: 5.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
@@ -303,7 +303,9 @@ files:
|
|
303
303
|
- lib/logstash/api/commands/stats.rb
|
304
304
|
- lib/logstash/api/commands/system/basicinfo_command.rb
|
305
305
|
- lib/logstash/api/commands/system/plugins_command.rb
|
306
|
+
- lib/logstash/api/errors.rb
|
306
307
|
- lib/logstash/api/modules/base.rb
|
308
|
+
- lib/logstash/api/modules/logging.rb
|
307
309
|
- lib/logstash/api/modules/node.rb
|
308
310
|
- lib/logstash/api/modules/node_stats.rb
|
309
311
|
- lib/logstash/api/modules/plugins.rb
|
@@ -361,6 +363,7 @@ files:
|
|
361
363
|
- lib/logstash/patches/cabin.rb
|
362
364
|
- lib/logstash/patches/clamp.rb
|
363
365
|
- lib/logstash/patches/profile_require_calls.rb
|
366
|
+
- lib/logstash/patches/puma.rb
|
364
367
|
- lib/logstash/patches/rubygems.rb
|
365
368
|
- lib/logstash/patches/stronger_openssl_defaults.rb
|
366
369
|
- lib/logstash/pipeline.rb
|
@@ -393,6 +396,7 @@ files:
|
|
393
396
|
- lib/logstash/webserver.rb
|
394
397
|
- locales/en.yml
|
395
398
|
- logstash-core.gemspec
|
399
|
+
- spec/api/lib/api/logging_spec.rb
|
396
400
|
- spec/api/lib/api/node_plugins_spec.rb
|
397
401
|
- spec/api/lib/api/node_spec.rb
|
398
402
|
- spec/api/lib/api/node_stats_spec.rb
|
@@ -400,6 +404,7 @@ files:
|
|
400
404
|
- spec/api/lib/api/root_spec.rb
|
401
405
|
- spec/api/lib/api/support/resource_dsl_methods.rb
|
402
406
|
- spec/api/lib/commands/stats.rb
|
407
|
+
- spec/api/lib/errors_spec.rb
|
403
408
|
- spec/api/lib/rack_app_spec.rb
|
404
409
|
- spec/api/spec_helper.rb
|
405
410
|
- spec/conditionals_spec.rb
|
@@ -450,6 +455,7 @@ files:
|
|
450
455
|
- spec/logstash/util_spec.rb
|
451
456
|
- spec/logstash/webserver_spec.rb
|
452
457
|
- spec/static/i18n_spec.rb
|
458
|
+
- spec/support/helpers.rb
|
453
459
|
- spec/support/matchers.rb
|
454
460
|
- spec/support/mocks_classes.rb
|
455
461
|
- spec/support/shared_examples.rb
|
@@ -458,7 +464,7 @@ files:
|
|
458
464
|
- vendor/jars/org/apache/logging/log4j/log4j-1.2-api/2.6.2/log4j-1.2-api-2.6.2.jar
|
459
465
|
- vendor/jars/org/apache/logging/log4j/log4j-api/2.6.2/log4j-api-2.6.2.jar
|
460
466
|
- vendor/jars/org/apache/logging/log4j/log4j-core/2.6.2/log4j-core-2.6.2.jar
|
461
|
-
- vendor/jars/org/logstash/logstash-core/5.0.0
|
467
|
+
- vendor/jars/org/logstash/logstash-core/5.0.0/logstash-core-5.0.0.jar
|
462
468
|
homepage: http://www.elastic.co/guide/en/logstash/current/index.html
|
463
469
|
licenses:
|
464
470
|
- Apache License (2.0)
|
@@ -475,9 +481,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
475
481
|
version: '0'
|
476
482
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
477
483
|
requirements:
|
478
|
-
- - "
|
484
|
+
- - ">="
|
479
485
|
- !ruby/object:Gem::Version
|
480
|
-
version:
|
486
|
+
version: '0'
|
481
487
|
requirements: []
|
482
488
|
rubyforge_project:
|
483
489
|
rubygems_version: 2.4.8
|
@@ -485,6 +491,7 @@ signing_key:
|
|
485
491
|
specification_version: 4
|
486
492
|
summary: logstash-core - The core components of logstash
|
487
493
|
test_files:
|
494
|
+
- spec/api/lib/api/logging_spec.rb
|
488
495
|
- spec/api/lib/api/node_plugins_spec.rb
|
489
496
|
- spec/api/lib/api/node_spec.rb
|
490
497
|
- spec/api/lib/api/node_stats_spec.rb
|
@@ -492,6 +499,7 @@ test_files:
|
|
492
499
|
- spec/api/lib/api/root_spec.rb
|
493
500
|
- spec/api/lib/api/support/resource_dsl_methods.rb
|
494
501
|
- spec/api/lib/commands/stats.rb
|
502
|
+
- spec/api/lib/errors_spec.rb
|
495
503
|
- spec/api/lib/rack_app_spec.rb
|
496
504
|
- spec/api/spec_helper.rb
|
497
505
|
- spec/conditionals_spec.rb
|
@@ -542,6 +550,7 @@ test_files:
|
|
542
550
|
- spec/logstash/util_spec.rb
|
543
551
|
- spec/logstash/webserver_spec.rb
|
544
552
|
- spec/static/i18n_spec.rb
|
553
|
+
- spec/support/helpers.rb
|
545
554
|
- spec/support/matchers.rb
|
546
555
|
- spec/support/mocks_classes.rb
|
547
556
|
- spec/support/shared_examples.rb
|