mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 14:47:19 -04:00
- make it work
This commit is contained in:
parent
82a665acac
commit
927bf1155c
1 changed files with 9 additions and 11 deletions
|
@ -14,7 +14,7 @@ class LogStash::Inputs::Lumberjack2 < LogStash::Inputs::Base
|
|||
config :host, :validate => :string, :default => "0.0.0.0"
|
||||
|
||||
# The port to listen on.
|
||||
config :port, :validate => :number, :required => true
|
||||
config :port, :validate => :number, :default => 5005
|
||||
|
||||
# The path to your nacl private key.
|
||||
# You can generate this with the lumberjack 'keygen' tool
|
||||
|
@ -24,6 +24,9 @@ class LogStash::Inputs::Lumberjack2 < LogStash::Inputs::Base
|
|||
# You can generate this with the lumberjack 'keygen' tool
|
||||
config :their_public_key, :validate => :path, :required => true
|
||||
|
||||
# The number of workers to use when processing lumberjack payloads.
|
||||
config :threads, :validate => :number, :default => 1
|
||||
|
||||
public
|
||||
def register
|
||||
require "lumberjack/server2"
|
||||
|
@ -32,6 +35,7 @@ class LogStash::Inputs::Lumberjack2 < LogStash::Inputs::Base
|
|||
|
||||
@lumberjack = Lumberjack::Server2.new(
|
||||
:endpoint => "tcp://#{@host}:#{@port}",
|
||||
:workers => @threads,
|
||||
:my_secret_key => File.read(@my_secret_key),
|
||||
:their_public_key => File.read(@their_public_key))
|
||||
end # def register
|
||||
|
@ -39,20 +43,14 @@ class LogStash::Inputs::Lumberjack2 < LogStash::Inputs::Base
|
|||
public
|
||||
def run(output_queue)
|
||||
@lumberjack.run do |l|
|
||||
file = l.delete("file")
|
||||
if file[0,1] == "/"
|
||||
source = "lumberjack://#{l.delete("host")}#{file}"
|
||||
else
|
||||
source = "lumberjack://#{l.delete("host")}/#{file}"
|
||||
end
|
||||
event = to_event(l.delete("line"), source)
|
||||
event = to_event(l.delete("text"), l.delete("source") || "-")
|
||||
|
||||
# TODO(sissel): We shoudln't use 'fields' here explicitly, but the new
|
||||
# 'event[key]' code seems... slow, so work around it for now.
|
||||
# TODO(sissel): Once Event_v1 is live, we can just merge 'l' directly into it.
|
||||
#l.each do |key, value|
|
||||
#event[key] = value
|
||||
#end
|
||||
l.each do |key, value|
|
||||
event[key] = value
|
||||
end
|
||||
event.fields.merge(l)
|
||||
|
||||
output_queue << event
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue