Sha256: 147c41dd55e47d43fdcd960b03efae7a9228d2dd249123ef3b971964881e92bf
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 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) return unless filter?(event) begin payload = event['protoPayload'] payload.delete '@type' lines = payload.delete 'line' if lines lines.each_with_index do |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 end 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.30.0 | lib/logstash/filters/google_appengine.rb |