From 3ac6e6115255193fcd2d15f0a9d61f78e0c6a5af Mon Sep 17 00:00:00 2001 From: Karl Southern Date: Wed, 16 Apr 2014 16:41:45 +0100 Subject: [PATCH] Mild fix ups --- README.md | 2 +- lib/logstash/outputs/jdbc.rb | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9e92096..02e0b91 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This has not yet been extensively tested with all JDBC drivers and may not yet w Installation ------------ - - Copy logstash directory contents into your logstash installation. + - Copy lib directory contents into your logstash installation. - Add JDBC jar files to vendor/jar/jdbc in your logstash installation - Configure diff --git a/lib/logstash/outputs/jdbc.rb b/lib/logstash/outputs/jdbc.rb index 0783255..74c5829 100644 --- a/lib/logstash/outputs/jdbc.rb +++ b/lib/logstash/outputs/jdbc.rb @@ -19,7 +19,7 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base public def register @logger.info("Starting up JDBC") - require 'java' + require "java" jarpath = File.join(File.dirname(__FILE__), "../../../vendor/jar/jdbc/*.jar") @logger.info(jarpath) @@ -33,15 +33,25 @@ class LogStash::Outputs::Jdbc < LogStash::Outputs::Base driver = Object.const_get(@driver_class[@driver_class.rindex('.') + 1, @driver_class.length]).new @connection = driver.connect(@connection_string, java.util.Properties.new) - @logger.debug("JDBC", :connection => @connection) + @logger.debug("JDBC", :driver => driver, :connection => @connection) end def receive(event) return unless output?(event) + return unless @statement.length > 0 + statement = @connection.prepareStatement(@statement[0]) - @statement[1..-1].each_with_index { |i, idx| statement.setString(idx + 1, event.sprintf(i)) } + @statement[1..-1].each_with_index { |i, idx| statement.setString(idx + 1, event.sprintf(i)) } if @statement.length > 1 + @logger.debug("Sending SQL to server", :event => event, :sql => statement.toString()) + statement.executeUpdate() + statement.close() + end + + def teardown + @connection.close() + super end end # class LogStash::Outputs::jdbc