logstash-output-jdbc 0.3.2-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.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/lib/logstash-output-jdbc_jars.rb +2 -2
- data/lib/logstash/outputs/jdbc.rb +7 -14
- data/spec/jdbc_spec_helper.rb +58 -23
- data/vendor/jar-dependencies/runtime-jars/HikariCP-2.4.7.jar +0 -0
- data/vendor/jar-dependencies/runtime-jars/slf4j-api-1.7.21.jar +0 -0
- metadata +50 -46
- data/vendor/jar-dependencies/runtime-jars/HikariCP-2.4.2.jar +0 -0
- data/vendor/jar-dependencies/runtime-jars/slf4j-api-1.7.12.jar +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 727a931f9b189e29d515b0798e010f276f5def1f
|
4
|
+
data.tar.gz: ed78ddac198f7eb2411da80c51893d44bd6fd52b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7176a744ec917960465f5c874eeb0f81ede3c89f442822f391b898326004ff92d274e6c08dd7312b26f224a72f353be1e91130200a722642b03fc1c96ca14061
|
7
|
+
data.tar.gz: f7597c9e0cf41ad3417ba26d316cfea0e0a9533f2e387f73578dc87e33e6041caedac209bb03e7fe05e2f9dfbf894d0cc749e626f7616ecd9309b866337f7125
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# logstash-output-jdbc
|
2
2
|
|
3
|
-
[](https://travis-ci.org/theangryangel/logstash-output-jdbc)
|
4
4
|
|
5
5
|
This plugin is provided as an external plugin and is not part of the Logstash project.
|
6
6
|
|
@@ -21,7 +21,7 @@ See CHANGELOG.md
|
|
21
21
|
Released versions are available via rubygems, and typically tagged.
|
22
22
|
|
23
23
|
For development:
|
24
|
-
- See master branch for logstash v5
|
24
|
+
- See master branch for logstash v5
|
25
25
|
- See v2.x branch for logstash v2
|
26
26
|
- See v1.5 branch for logstash v1.5
|
27
27
|
- See v1.4 branch for logstash 1.4
|
@@ -47,8 +47,8 @@ For development:
|
|
47
47
|
| username | String | JDBC username - this is optional as it may be included in the connection string, for many drivers | No | |
|
48
48
|
| password | String | JDBC password - this is optional as it may be included in the connection string, for many drivers | No | |
|
49
49
|
| statement | Array | An array of strings representing the SQL statement to run. Index 0 is the SQL statement that is prepared, all other array entries are passed in as parameters (in order). A parameter may either be a property of the event (i.e. "@timestamp", or "host") or a formatted string (i.e. "%{host} - %{message}" or "%{message}"). If a key is passed then it will be automatically converted as required for insertion into SQL. If it's a formatted string then it will be passed in verbatim. | Yes | |
|
50
|
-
| unsafe_statement | Boolean | If yes, the statement is evaluated for event fields - this allows you to use dynamic table names, etc. **This is highly dangerous** and you should **not** use this unless you are 100% sure that the field(s) you are passing in are 100% safe. Failure to do so will result in possible SQL injections.
|
51
|
-
| max_pool_size | Number | Maximum number of connections to open to the SQL server at any 1 time
|
50
|
+
| unsafe_statement | Boolean | If yes, the statement is evaluated for event fields - this allows you to use dynamic table names, etc. **This is highly dangerous** and you should **not** use this unless you are 100% sure that the field(s) you are passing in are 100% safe. Failure to do so will result in possible SQL injections. Example statement: [ "insert into %{table_name_field} (column) values(?)", "fieldname" ] | No | False |
|
51
|
+
| max_pool_size | Number | Maximum number of connections to open to the SQL server at any 1 time | No | 5 |
|
52
52
|
| connection_timeout | Number | Number of seconds before a SQL connection is closed | No | 2800 |
|
53
53
|
| flush_size | Number | Maximum number of entries to buffer before sending to SQL - if this is reached before idle_flush_time | No | 1000 |
|
54
54
|
| max_flush_exceptions | Number | Number of sequential flushes which cause an exception, before the set of events are discarded. Set to a value less than 1 if you never want it to stop. This should be carefully configured with respect to retry_initial_interval and retry_max_interval, if your SQL server is not highly available | No | 10 |
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'logstash/environment'
|
3
3
|
|
4
|
-
root_dir = File.expand_path(File.join(File.dirname(__FILE__),
|
5
|
-
LogStash::Environment.load_runtime_jars! File.join(root_dir,
|
4
|
+
root_dir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
5
|
+
LogStash::Environment.load_runtime_jars! File.join(root_dir, 'vendor')
|
@@ -12,7 +12,7 @@ require 'logstash-output-jdbc_jars'
|
|
12
12
|
# includes correctly crafting the SQL statement, and matching the number of
|
13
13
|
# parameters correctly.
|
14
14
|
class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
|
15
|
-
|
15
|
+
concurrency :shared
|
16
16
|
|
17
17
|
STRFTIME_FMT = '%Y-%m-%d %T.%L'.freeze
|
18
18
|
|
@@ -98,7 +98,6 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
|
|
98
98
|
def register
|
99
99
|
@logger.info('JDBC - Starting up')
|
100
100
|
|
101
|
-
LogStash::Logger.setup_log4j(@logger)
|
102
101
|
load_jar_files!
|
103
102
|
|
104
103
|
@stopping = Concurrent::AtomicBoolean.new(false)
|
@@ -122,10 +121,6 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
|
|
122
121
|
end
|
123
122
|
end
|
124
123
|
|
125
|
-
def receive(event)
|
126
|
-
retrying_submit([event])
|
127
|
-
end
|
128
|
-
|
129
124
|
def close
|
130
125
|
@stopping.make_true
|
131
126
|
@pool.close
|
@@ -156,7 +151,7 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
|
|
156
151
|
# Test connection
|
157
152
|
test_connection = @pool.getConnection
|
158
153
|
unless test_connection.isValid(validate_connection_timeout)
|
159
|
-
@logger.
|
154
|
+
@logger.warn('JDBC - Connection is not reporting as validate. Either connection is invalid, or driver is not getting the appropriate response.')
|
160
155
|
end
|
161
156
|
test_connection.close
|
162
157
|
end
|
@@ -177,13 +172,13 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
|
|
177
172
|
File.join(File.dirname(__FILE__), '../../../vendor/jar/jdbc/*.jar')
|
178
173
|
end
|
179
174
|
|
180
|
-
@logger.
|
175
|
+
@logger.trace('JDBC - jarpath', path: jarpath)
|
181
176
|
|
182
177
|
jars = Dir[jarpath]
|
183
178
|
raise LogStash::ConfigurationError, 'JDBC - No jars found. Have you read the README?' if jars.empty?
|
184
179
|
|
185
180
|
jars.each do |jar|
|
186
|
-
@logger.
|
181
|
+
@logger.trace('JDBC - Loaded jar', jar: jar)
|
187
182
|
require jar
|
188
183
|
end
|
189
184
|
end
|
@@ -258,14 +253,14 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
|
|
258
253
|
def add_statement_event_params(statement, event)
|
259
254
|
@statement[1..-1].each_with_index do |i, idx|
|
260
255
|
if i.is_a? String
|
261
|
-
value = event
|
256
|
+
value = event.get(i)
|
262
257
|
if value.nil? and i =~ /%\{/
|
263
258
|
value = event.sprintf(i)
|
264
259
|
end
|
265
260
|
else
|
266
261
|
value = i
|
267
262
|
end
|
268
|
-
|
263
|
+
|
269
264
|
case value
|
270
265
|
when Time
|
271
266
|
# See LogStash::Timestamp, below, for the why behind strftime.
|
@@ -280,8 +275,6 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
|
|
280
275
|
# strftime appears to be the most reliable across drivers.
|
281
276
|
statement.setString(idx + 1, value.time.strftime(STRFTIME_FMT))
|
282
277
|
when Fixnum, Integer
|
283
|
-
# bit_length doesn't exist in the current version of ruby/jruby logstash targets
|
284
|
-
# and this seems quicker than doing some Math.log2(value < 0 ? -value : value+1).ceil shit
|
285
278
|
if value > 2147483647 or value < -2147483648
|
286
279
|
statement.setLong(idx + 1, value)
|
287
280
|
else
|
@@ -314,7 +307,7 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base
|
|
314
307
|
log_method = (retrying ? 'warn' : 'error')
|
315
308
|
|
316
309
|
loop do
|
317
|
-
@logger.send(log_method, log_text, :exception => current_exception
|
310
|
+
@logger.send(log_method, log_text, :exception => current_exception)
|
318
311
|
|
319
312
|
if current_exception.respond_to? 'getNextException'
|
320
313
|
current_exception = current_exception.getNextException()
|
data/spec/jdbc_spec_helper.rb
CHANGED
@@ -4,6 +4,32 @@ require 'stud/temporary'
|
|
4
4
|
require 'java'
|
5
5
|
require 'securerandom'
|
6
6
|
|
7
|
+
RSpec.configure do |c|
|
8
|
+
|
9
|
+
def start_service(name)
|
10
|
+
cmd = "sudo /etc/init.d/#{name}* start"
|
11
|
+
|
12
|
+
`which systemctl`
|
13
|
+
if $?.success?
|
14
|
+
cmd = "sudo systemctl start #{name}"
|
15
|
+
end
|
16
|
+
|
17
|
+
`#{cmd}`
|
18
|
+
end
|
19
|
+
|
20
|
+
def stop_service(name)
|
21
|
+
cmd = "sudo /etc/init.d/#{name}* stop"
|
22
|
+
|
23
|
+
`which systemctl`
|
24
|
+
if $?.success?
|
25
|
+
cmd = "sudo systemctl stop #{name}"
|
26
|
+
end
|
27
|
+
|
28
|
+
`#{cmd}`
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
7
33
|
RSpec.shared_context 'rspec setup' do
|
8
34
|
it 'ensure jar is available' do
|
9
35
|
expect(ENV[jdbc_jar_env]).not_to be_nil, "#{jdbc_jar_env} not defined, required to run tests"
|
@@ -20,7 +46,9 @@ RSpec.shared_context 'when initializing' do
|
|
20
46
|
end
|
21
47
|
|
22
48
|
RSpec.shared_context 'when outputting messages' do
|
23
|
-
let(:logger) {
|
49
|
+
let(:logger) {
|
50
|
+
double("logger")
|
51
|
+
}
|
24
52
|
|
25
53
|
let(:jdbc_test_table) do
|
26
54
|
'logstash_output_jdbc_test'
|
@@ -43,16 +71,27 @@ RSpec.shared_context 'when outputting messages' do
|
|
43
71
|
end
|
44
72
|
|
45
73
|
let(:event_fields) do
|
46
|
-
{
|
74
|
+
{ message: "test-message #{SecureRandom.uuid}" }
|
47
75
|
end
|
48
76
|
|
49
77
|
let(:event) { LogStash::Event.new(event_fields) }
|
50
78
|
|
51
79
|
let(:plugin) do
|
80
|
+
# Setup logger
|
81
|
+
allow(LogStash::Outputs::Jdbc).to receive(:logger).and_return(logger)
|
82
|
+
|
83
|
+
# XXX: Suppress reflection logging. There has to be a better way around this.
|
84
|
+
allow(logger).to receive(:debug).with(/config LogStash::/)
|
85
|
+
|
86
|
+
# Suppress beta warnings.
|
87
|
+
allow(logger).to receive(:info).with(/Please let us know if you find bugs or have suggestions on how to improve this plugin./)
|
88
|
+
|
89
|
+
# Suppress start up messages.
|
90
|
+
expect(logger).to receive(:info).once.with(/JDBC - Starting up/)
|
91
|
+
|
52
92
|
# Setup plugin
|
53
93
|
output = LogStash::Plugin.lookup('output', 'jdbc').new(jdbc_settings)
|
54
94
|
output.register
|
55
|
-
output.logger = logger
|
56
95
|
|
57
96
|
# Setup table
|
58
97
|
c = output.instance_variable_get(:@pool).getConnection
|
@@ -82,7 +121,7 @@ RSpec.shared_context 'when outputting messages' do
|
|
82
121
|
# Verify the number of items in the output table
|
83
122
|
c = plugin.instance_variable_get(:@pool).getConnection
|
84
123
|
stmt = c.prepareStatement("select count(*) as total from #{jdbc_test_table} where message = ?")
|
85
|
-
stmt.setString(1, event
|
124
|
+
stmt.setString(1, event.get('message'))
|
86
125
|
rs = stmt.executeQuery
|
87
126
|
count = 0
|
88
127
|
count = rs.getInt('total') while rs.next
|
@@ -93,10 +132,14 @@ RSpec.shared_context 'when outputting messages' do
|
|
93
132
|
end
|
94
133
|
|
95
134
|
it 'should not save event, and log an unretryable exception' do
|
96
|
-
e =
|
135
|
+
e = event
|
136
|
+
original_event = e.get('message')
|
137
|
+
e.set('message', nil)
|
97
138
|
|
98
139
|
expect(logger).to receive(:error).once.with(/JDBC - Exception. Not retrying/, Hash)
|
99
|
-
expect { plugin.multi_receive([
|
140
|
+
expect { plugin.multi_receive([event]) }.to_not raise_error
|
141
|
+
|
142
|
+
e.set('message', original_event)
|
100
143
|
end
|
101
144
|
|
102
145
|
it 'it should retry after a connection loss, and log a warning' do
|
@@ -107,29 +150,21 @@ RSpec.shared_context 'when outputting messages' do
|
|
107
150
|
# Check that everything is fine right now
|
108
151
|
expect { p.multi_receive([event]) }.not_to raise_error
|
109
152
|
|
110
|
-
|
111
|
-
t = Thread.new(systemd_database_service) { |systemd_database_service|
|
112
|
-
start_stop_cmd = 'sudo /etc/init.d/%<service>s* %<action>s'
|
113
|
-
|
114
|
-
`which systemctl`
|
115
|
-
if $?.success?
|
116
|
-
start_stop_cmd = 'sudo systemctl %<action>s %<service>s'
|
117
|
-
end
|
118
|
-
|
119
|
-
cmd = start_stop_cmd % { action: 'stop', service: systemd_database_service }
|
120
|
-
`#{cmd}`
|
121
|
-
sleep 10
|
153
|
+
stop_service(systemd_database_service)
|
122
154
|
|
123
|
-
|
124
|
-
|
155
|
+
# Start a thread to restart the service after the fact.
|
156
|
+
t = Thread.new(systemd_database_service) { |systemd_database_service|
|
157
|
+
sleep 20
|
158
|
+
|
159
|
+
start_service(systemd_database_service)
|
125
160
|
}
|
126
161
|
|
127
|
-
|
128
|
-
|
129
|
-
|
162
|
+
t.run
|
163
|
+
|
130
164
|
expect(logger).to receive(:warn).at_least(:once).with(/JDBC - Exception. Retrying/, Hash)
|
131
165
|
expect { p.multi_receive([event]) }.to_not raise_error
|
132
166
|
|
167
|
+
# Wait for the thread to finish
|
133
168
|
t.join
|
134
169
|
end
|
135
170
|
end
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,160 +1,164 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-jdbc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 5.0.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- the_angry_angel
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: logstash-core-plugin-api
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
|
-
- -
|
16
|
+
- - ">="
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
20
|
-
|
18
|
+
version: '1.60'
|
19
|
+
- - "<="
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '2.99'
|
22
|
+
name: logstash-core-plugin-api
|
21
23
|
prerelease: false
|
24
|
+
type: :runtime
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
29
|
+
version: '1.60'
|
30
|
+
- - "<="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2.99'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: stud
|
29
34
|
requirement: !ruby/object:Gem::Requirement
|
30
35
|
requirements:
|
31
|
-
- -
|
36
|
+
- - ">="
|
32
37
|
- !ruby/object:Gem::Version
|
33
38
|
version: '0'
|
34
|
-
|
39
|
+
name: stud
|
35
40
|
prerelease: false
|
41
|
+
type: :runtime
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
37
43
|
requirements:
|
38
|
-
- -
|
44
|
+
- - ">="
|
39
45
|
- !ruby/object:Gem::Version
|
40
46
|
version: '0'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: logstash-codec-plain
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
44
49
|
requirements:
|
45
|
-
- -
|
50
|
+
- - ">="
|
46
51
|
- !ruby/object:Gem::Version
|
47
52
|
version: '0'
|
48
|
-
|
53
|
+
name: logstash-codec-plain
|
49
54
|
prerelease: false
|
55
|
+
type: :runtime
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
|
-
- -
|
58
|
+
- - ">="
|
53
59
|
- !ruby/object:Gem::Version
|
54
60
|
version: '0'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: jar-dependencies
|
57
62
|
requirement: !ruby/object:Gem::Requirement
|
58
63
|
requirements:
|
59
|
-
- -
|
64
|
+
- - ">="
|
60
65
|
- !ruby/object:Gem::Version
|
61
66
|
version: '0'
|
62
|
-
|
67
|
+
name: jar-dependencies
|
63
68
|
prerelease: false
|
69
|
+
type: :development
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
|
-
- -
|
72
|
+
- - ">="
|
67
73
|
- !ruby/object:Gem::Version
|
68
74
|
version: '0'
|
69
75
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: ruby-maven
|
71
76
|
requirement: !ruby/object:Gem::Requirement
|
72
77
|
requirements:
|
73
|
-
- - ~>
|
78
|
+
- - "~>"
|
74
79
|
- !ruby/object:Gem::Version
|
75
80
|
version: '3.3'
|
76
|
-
|
81
|
+
name: ruby-maven
|
77
82
|
prerelease: false
|
83
|
+
type: :development
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
79
85
|
requirements:
|
80
|
-
- - ~>
|
86
|
+
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
88
|
version: '3.3'
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: logstash-devutils
|
85
90
|
requirement: !ruby/object:Gem::Requirement
|
86
91
|
requirements:
|
87
|
-
- -
|
92
|
+
- - ">="
|
88
93
|
- !ruby/object:Gem::Version
|
89
94
|
version: '0'
|
90
|
-
|
95
|
+
name: logstash-devutils
|
91
96
|
prerelease: false
|
97
|
+
type: :development
|
92
98
|
version_requirements: !ruby/object:Gem::Requirement
|
93
99
|
requirements:
|
94
|
-
- -
|
100
|
+
- - ">="
|
95
101
|
- !ruby/object:Gem::Version
|
96
102
|
version: '0'
|
97
103
|
- !ruby/object:Gem::Dependency
|
98
|
-
name: rubocop
|
99
104
|
requirement: !ruby/object:Gem::Requirement
|
100
105
|
requirements:
|
101
106
|
- - '='
|
102
107
|
- !ruby/object:Gem::Version
|
103
108
|
version: 0.41.2
|
104
|
-
|
109
|
+
name: rubocop
|
105
110
|
prerelease: false
|
111
|
+
type: :development
|
106
112
|
version_requirements: !ruby/object:Gem::Requirement
|
107
113
|
requirements:
|
108
114
|
- - '='
|
109
115
|
- !ruby/object:Gem::Version
|
110
116
|
version: 0.41.2
|
111
|
-
description: This gem is a logstash plugin required to be installed on top of the
|
112
|
-
Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not
|
113
|
-
a stand-alone program
|
117
|
+
description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install 'logstash-output-jdbc'. This gem is not a stand-alone program
|
114
118
|
email: karl+github@theangryangel.co.uk
|
115
119
|
executables: []
|
116
120
|
extensions: []
|
117
121
|
extra_rdoc_files: []
|
118
122
|
files:
|
119
|
-
-
|
123
|
+
- LICENSE.txt
|
124
|
+
- README.md
|
120
125
|
- lib/logstash-output-jdbc_jars.rb
|
126
|
+
- lib/logstash/outputs/jdbc.rb
|
121
127
|
- spec/jdbc_spec_helper.rb
|
122
128
|
- spec/outputs/jdbc_derby_spec.rb
|
123
129
|
- spec/outputs/jdbc_mysql_spec.rb
|
124
130
|
- spec/outputs/jdbc_spec.rb
|
125
131
|
- spec/outputs/jdbc_sqlite_spec.rb
|
126
|
-
- vendor/jar-dependencies/runtime-jars/HikariCP-2.4.
|
132
|
+
- vendor/jar-dependencies/runtime-jars/HikariCP-2.4.7.jar
|
127
133
|
- vendor/jar-dependencies/runtime-jars/log4j-1.2.17.jar
|
128
|
-
- vendor/jar-dependencies/runtime-jars/slf4j-api-1.7.
|
134
|
+
- vendor/jar-dependencies/runtime-jars/slf4j-api-1.7.21.jar
|
129
135
|
- vendor/jar-dependencies/runtime-jars/slf4j-log4j12-1.7.21.jar
|
130
|
-
- LICENSE.txt
|
131
|
-
- README.md
|
132
136
|
homepage: https://github.com/theangryangel/logstash-output-jdbc
|
133
137
|
licenses:
|
134
138
|
- Apache License (2.0)
|
135
139
|
metadata:
|
136
140
|
logstash_plugin: 'true'
|
137
141
|
logstash_group: output
|
138
|
-
post_install_message:
|
142
|
+
post_install_message:
|
139
143
|
rdoc_options: []
|
140
144
|
require_paths:
|
141
145
|
- lib
|
142
146
|
required_ruby_version: !ruby/object:Gem::Requirement
|
143
147
|
requirements:
|
144
|
-
- -
|
148
|
+
- - ">="
|
145
149
|
- !ruby/object:Gem::Version
|
146
150
|
version: '0'
|
147
151
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
152
|
requirements:
|
149
|
-
- -
|
153
|
+
- - ">="
|
150
154
|
- !ruby/object:Gem::Version
|
151
155
|
version: '0'
|
152
156
|
requirements:
|
153
|
-
- jar 'com.zaxxer:HikariCP', '2.4.
|
157
|
+
- jar 'com.zaxxer:HikariCP', '2.4.7'
|
154
158
|
- jar 'org.slf4j:slf4j-log4j12', '1.7.21'
|
155
|
-
rubyforge_project:
|
156
|
-
rubygems_version: 2.
|
157
|
-
signing_key:
|
159
|
+
rubyforge_project:
|
160
|
+
rubygems_version: 2.4.8
|
161
|
+
signing_key:
|
158
162
|
specification_version: 4
|
159
163
|
summary: This plugin allows you to output to SQL, via JDBC
|
160
164
|
test_files:
|
Binary file
|
Binary file
|