Sha256: b0d0d0641d739a798ac22daccd4b401f2e29b750cb28f0d8b308cca836cfab46
Contents?: true
Size: 1.42 KB
Versions: 1
Compression:
Stored size: 1.42 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 config_param :include_hash, :bool, :default => false config_param :salt, :string, :default => nil config_param :sha_algorithm, :integer, :default => nil config_param :parse_header_checks, :bool, :default => false def filter(tag, time, record) line = record[@key] return record unless line options = {mask: @mask, hash: @include_hash, salt: @salt, parse_time: @use_log_time, sha_algorithm: @sha_algorithm} if @parse_header_checks parsed = PostfixStatusLine.parse_header_checks(line, options) else parsed = PostfixStatusLine.parse(line, options) end unless parsed log.warn "cannot parse a postfix log: #{line}" return record end if @use_log_time and parsed['epoch'] time = parsed.delete('epoch') end parsed rescue => e log.warn "failed to parse a postfix log: #{line}", :error_class => e.class, :error => e.message log.warn_backtrace record end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fluent-plugin-filter-parse-postfix-0.2.7 | lib/fluent/plugin/filter_parse_postfix.rb |