Sha256: ca9964a06426a0ae82b0cffc9b8062182024960723556bc173112ed46c63631d
Contents?: true
Size: 1.14 KB
Versions: 1
Compression:
Stored size: 1.14 KB
Contents
require 'logger' require 'psych' require 'killbill' require 'klogger/base' require 'klogger/irc' require 'klogger/syslog' MODULES = { :irc => Klogger::IRC, :syslog => Klogger::Syslog } ENABLED_MODULES = [] LOG = Logger.new(STDOUT) LOG.level = Logger::INFO # Parse the config file begin CONFIG = Psych.load_file('klogger.yml') rescue Errno::ENOENT LOG.warn 'Unable to find the config file klogger.yml' CONFIG = {} end # Instantiate each module CONFIG.each do |kmodule, config| next unless config['enabled'] module_klass = MODULES[kmodule.to_sym] next unless module_klass LOG.info "Module #{module_klass} enabled" ENABLED_MODULES << module_klass.send('new', config) end # Killbill plugin, which dispatches to all klogger modules module Klogger class KloggerPlugin < Killbill::Plugin::Notification def start_plugin ENABLED_MODULES.each { |m| m.start_plugin rescue nil } super end def on_event(event) ENABLED_MODULES.each { |m| m.on_event(event) rescue nil } end def stop_plugin super ENABLED_MODULES.each { |m| m.stop_plugin rescue nil } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
klogger-1.0.0 | lib/klogger.rb |