Sha256: d8b3adfff38ec80dbfd2fd6cebcaa3cc25523d53be5b9ac60dadb5eeacd8d215
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
require 'fluent_plugin_filter_parse_postfix/version' require 'postfix_status_line' require 'time' module Fluent class ParsePostfixFilter < Filter Plugin.register_filter('parse_postfix', self) config_param :key, :string, :default => 'message' config_param :mask, :bool, :default => true config_param :use_log_time, :bool, :default => false def filter_stream(tag, es) result_es = Fluent::MultiEventStream.new es.each do |time, record| parse_postfix(time, record, result_es) end result_es rescue => e log.warn e.message log.warn e.backtrace.join(', ') end private def parse_postfix(time, record, result_es) line = record[@key] return unless line parsed = PostfixStatusLine.parse(line, @mask) unless parsed log.warn "Could not parse a postfix log: #{line}" return end if @use_log_time and parsed['time'] time = Time.parse(parsed['time']).to_i end result_es.add(time, parsed) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fluent-plugin-filter-parse-postfix-0.1.5 | lib/fluent/plugin/filter_parse_postfix.rb |