class L2met::Syslog

Constants

VERSION

Attributes

interval[RW]
logger[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/l2met/syslog.rb, line 13
def initialize(options = {})
  @logger   = options[:logger] || default_logger
  @interval = options[:interval] || 60
end
run(options = {}) click to toggle source
# File lib/l2met/syslog.rb, line 9
def self.run(options = {})
  new(options).run
end

Public Instance Methods

log(params) click to toggle source
# File lib/l2met/syslog.rb, line 35
def log(params)
  if @logger
    message = params.map {|p| p.join('=') }.join(' ')
    @logger.info(message)
  end
end
log_data() click to toggle source
# File lib/l2met/syslog.rb, line 31
def log_data
  raise "This method must be implemented"
end
run() click to toggle source
# File lib/l2met/syslog.rb, line 18
def run
  @thread = Thread.new do
    loop do
      sleep @interval
      log_data
    end
  end
end
stop() click to toggle source
# File lib/l2met/syslog.rb, line 27
def stop
  @thread.exit if @thread
end

Private Instance Methods

default_logger() click to toggle source
# File lib/l2met/syslog.rb, line 44
def default_logger
  logger = ::Logger.new(STDOUT)
  logger.formatter = proc {|severity, datetime, progname, msg| "#{msg}\n" }
  logger
end