diff --git a/bin/agent.rb b/bin/agent.rb index d7cd26860..75f3a9c89 100755 --- a/bin/agent.rb +++ b/bin/agent.rb @@ -21,18 +21,19 @@ class Agent < LogStash::Net::MessageClient end # def initialize def start_log_watcher - Thread.new do + @t1 = Thread.new do File::Tail::Since.new("/var/log/messages").tail do |line| line.chomp! index("linux-syslog", line) end end - Thread.new do + @t2 = Thread.new do File::Tail::Since.new("/b/access").tail do |line| line.chomp! index("httpd-access", line) end + exit end end # def start_log_watcher diff --git a/lib/net/common.rb b/lib/net/common.rb index 3b4ccf2c0..b9a9fb23f 100644 --- a/lib/net/common.rb +++ b/lib/net/common.rb @@ -25,3 +25,11 @@ class String alias_method :checksum, :adler32 end # class String + +# EventMachine uses ruby1.8 (not in 1.9) function Thread#kill!, +# so let's fake it. +class Thread + def kill!(*args) + kill + end +end diff --git a/lib/net/message.rb b/lib/net/message.rb index 8ab812bf0..a271aef17 100644 --- a/lib/net/message.rb +++ b/lib/net/message.rb @@ -30,7 +30,9 @@ module BindToHash if value.is_a?(String) (0 .. value.length - 1).each do |i| break if !value[i] - if value[i] >= 128 + # ruby 1.9 String#[] returns a string, 1.8 returns an int + # force an int. + if value[i].to_i >= 128 value[i] = "" end end diff --git a/lib/net/socket.rb b/lib/net/socket.rb index 8e53c953b..9f0c5c0bc 100644 --- a/lib/net/socket.rb +++ b/lib/net/socket.rb @@ -32,7 +32,7 @@ module LogStash; module Net name = msg.class.name.split(":")[-1] func = "#{name}Handler" - if @handler.respond_to?(func): + if @handler.respond_to?(func) #operation = lambda do #@handler.send(func, msg) do |response| #sendmsg(response)