module Fluent::Compat::HandleTagAndTimeMixin

Public Class Methods

included(klass) click to toggle source
# File lib/fluent/compat/handle_tag_and_time_mixin.rb, line 22
def self.included(klass)
  klass.instance_eval {
    config_param :include_time_key, :bool, default: false
    config_param :time_key, :string, default: 'time'
    config_param :time_format, :string, default: nil
    config_param :time_as_epoch, :bool, default: false
    config_param :include_tag_key, :bool, default: false
    config_param :tag_key, :string, default: 'tag'
    config_param :localtime, :bool, default: true
    config_param :timezone, :string, default: nil
  }
end

Public Instance Methods

configure(conf) click to toggle source
Calls superclass method
# File lib/fluent/compat/handle_tag_and_time_mixin.rb, line 35
def configure(conf)
  super

  if conf['utc']
    @localtime = false
  end
  @timef = Fluent::TimeFormatter.new(@time_format, @localtime, @timezone)
  if @time_as_epoch && !@include_time_key
    log.warn "time_as_epoch will be ignored because include_time_key is false"
  end
end
filter_record(tag, time, record) click to toggle source
# File lib/fluent/compat/handle_tag_and_time_mixin.rb, line 47
def filter_record(tag, time, record)
  if @include_tag_key
    record[@tag_key] = tag
  end
  if @include_time_key
    if @time_as_epoch
      record[@time_key] = time.to_i
    else
      record[@time_key] = @timef.format(time)
    end
  end
end