Sha256: 4ad8b8efe67e555ba4470533ee9f914d40dd82ce249ac2ae3cc8164b6efa5e2f
Contents?: true
Size: 874 Bytes
Versions: 2
Compression:
Stored size: 874 Bytes
Contents
class FnordMetric::Logger def self.start(logfile_path) require 'json' event_ids = Queue.new dump_file = File.open(logfile_path, 'a+') fetcher = Thread.new do redis = Redis.new loop do event_id = event_ids.pop event_data = redis.get("fnordmetric-event-#{event_id}") event_hash = JSON.parse(event_data) rescue next event_hash.merge!(:_time => Time.now.to_i) dump_file.write(event_hash.to_json+"\n") dump_file.flush print "\033[1;34m" print event_hash.inspect print "\033[0m\n" end end listener = Thread.new do redis = Redis.new redis.subscribe("fnordmetric-announce") do |on| on.message do |channel, event_id| event_ids << event_id end end end fetcher.join end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fnordmetric-0.5.1 | lib/fnordmetric/logger.rb |
fnordmetric-0.5.0 | lib/fnordmetric/logger.rb |