Sha256: e8fa853d45fcf44efef73fd083a35887bdb50b10fdd30aefababeb0955d1c97d
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 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) payload = event['protoPayload'] payload.delete '@type' lines = payload.delete 'line' if lines @logger.error("Encountered line event") 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 = event.clone new_event.overwrite(LogStash::Event::new(line_data)) filter_matched(new_event) @logger.error("Emitting LINE event", 'line_event'=> new_event) yield new_event end else payload['_id'] = @md5.hexdigest payload['requestId'] payload['time'] = payload['endTime'] new_event = event.clone new_event.overwrite(LogStash::Event::new(payload)) filter_matched(new_event) @logger.error("Emitting REGULAR event", 'line_event'=> new_event) yield new_event end event.cancel end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
logstash-filter-google_appengine-0.70.0 | lib/logstash/filters/google_appengine.rb |