21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/fluent/plugin/filter_set_timezone.rb', line 21
def filter_with_time(tag, event_time, record)
timezone = @accessor.call(record)
return event_time, record unless timezone and !timezone.empty?
time = event_time.to_time.utc
begin
tz = TZInfo::Timezone.get(timezone)
adjusted = tz.local_time(time.year, time.month, time.day, time.hour, time.min, time.sec, Rational(time.nsec, 1000000000))
rescue TZInfo::InvalidTimezoneIdentifier
offset = Time.zone_offset(timezone)
raise "Unable to parse timezone '#{timezone}'" unless !offset.nil?
adjusted = time - offset
end
return Fluent::EventTime.from_time(adjusted), record
end
|