Sha256: 383ef9d46c43a9d83f0fcd9590e5cbfdaecf9937310294f9ff61bae8d97de1a7
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
# encoding: utf-8 require "logstash/filters/base" require "logstash/namespace" require "logstash/environment" require 'digest' class LogStash::Filters::GoogleAppengine < LogStash::Filters::Base config_name "google_appengine" public def register @md5 = Digest::MD5.new end def filter(event) begin payload = event['protoPayload'] payload.delete '@type' lines = payload.delete 'line' if lines lines.map.with_index { |line, i| line_data = payload.merge line line_data['_id'] = @md5.hexdigest line_data['requestId'] + i.to_s line_data['message'] = line_data.delete 'logMessage' new_event = LogStash::Event::new(line_data) filter_matched(new_event) yield new_event } else payload['_id'] = @md5.hexdigest payload['requestId'] payload['time'] = payload['endTime'] new_event = LogStash::Event::new(payload) filter_matched(new_event) yield new_event end event.cancel rescue => e @logger.error "Failed to process event", :error => e, :data => event end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
logstash-filter-google_appengine-0.20.0 | lib/logstash/filters/google_appengine.rb |