mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 22:57:16 -04:00
38 lines
806 B
Ruby
38 lines
806 B
Ruby
require "cgi"
|
|
require "logstash/event"
|
|
require "logstash/logging"
|
|
require "logstash/namespace"
|
|
require "logstash/config/mixin"
|
|
require "uri"
|
|
|
|
class LogStash::Outputs::Base
|
|
include LogStash::Config::Mixin
|
|
|
|
attr_accessor :logger
|
|
|
|
config_name "outputs"
|
|
|
|
public
|
|
def initialize(url)
|
|
@url = url
|
|
@url = URI.parse(url) if url.is_a? String
|
|
@logger = LogStash::Logger.new(STDOUT)
|
|
@urlopts = {}
|
|
if @url.query
|
|
@urlopts = CGI.parse(@url.query)
|
|
@urlopts.each do |k, v|
|
|
@urlopts[k] = v.last if v.is_a?(Array)
|
|
end
|
|
end
|
|
end
|
|
|
|
public
|
|
def register
|
|
raise "#{self.class}#register must be overidden"
|
|
end # def register
|
|
|
|
public
|
|
def receive(event)
|
|
raise "#{self.class}#receive must be overidden"
|
|
end # def receive
|
|
end # class LogStash::Outputs::Base
|