Sha256: cd8c9d841c64556e10d08c62ed99e20711b27471bfa8ca9228f841152db2c0f8
Contents?: true
Size: 1.91 KB
Versions: 9
Compression:
Stored size: 1.91 KB
Contents
#!/usr/bin/env ruby $: << File.dirname($0) + "/../lib" require "rubygems" require "eventmachine" require "logstash/agent" require "optparse" require "yaml" Settings = Struct.new(:config_file, :daemonize, :logfile, :verbose) settings = Settings.new settings.daemonize = false settings.config_file = nil settings.verbose = 0 progname = File.basename($0) opts = OptionParser.new do |opts| opts.banner = "Usage: #{progname} [options]" opts.on("-f CONFIGFILE", "--config CONFIGFILE", "Load the logstash config from a specific file") do |arg| settings.config_file = arg end opts.on("-d", "--daemonize", "Daemonize (default is run in foreground)") do settings.daemonize = true end opts.on("-l", "--log FILE", "Log to a given path. Default is stdout.") do |path| settings.logfile = path end opts.on("-v", "Increase verbosity (not yet used)") do settings.verbose += 1 end end begin opts.parse! if settings.config_file == "" or settings.config_file == nil raise "No config file given. (missing -f or --config flag?)" end rescue $stderr.puts "#{progname}: #{$!}" $stderr.puts opts exit(1) end # TODO(sissel): put the config management stuff in LogStash::Agent if !File.exist?(settings.config_file) $stderr.puts "Config file '#{settings.config_file}' does not exist." end begin config = YAML::load_file(settings.config_file) rescue => e $stderr.puts "Loading config file '#{settings.config_file}' failed: #{e}" exit 1 end if settings.daemonize if Process.fork == nil Process.setsid else exit(0) end end if settings.logfile logfile = File.open(settings.logfile, "w") STDOUT.reopen(logfile) STDERR.reopen(logfile) elsif settings.daemonize # Write to /dev/null if devnull = File.open("/dev/null", "w") STDOUT.reopen(devnull) STDERR.reopen(devnull) end agent = LogStash::Agent.new(config) #if settings.logfile #agent.log_to(settings.logfile) #end agent.run
Version data entries
9 entries across 9 versions & 1 rubygems