Skip to content

Timestamp is always parsed as local time #377

Description

@wonnyz

We use UTC timestamps when we write logs in Kafka, and date partitioning on S3.
When I tried to parse a timestamp column like { "@t": "2020-11-11T07:58:58.7291622Z" }, generated filename was 20201110_22xx (GMT+9), not 20201111_07xx!

in-kafka-group creates TimeParser with just time_format, since there is no parameter like utc.

if @time_source == :record and @time_format
if defined?(Fluent::TimeParser)
@time_parser = Fluent::TimeParser.new(@time_format)
else
@time_parser = Fluent::TextParser::TimeParser.new(@time_format)
end
end

TimeParser uses local time by default. (localtime = true)
https://github.com/fluent/fluentd/blob/6757d70b7fdfcf5e4a6316b1ecd802dfeb0e326e/lib/fluent/time.rb#L208

Can we have utc parameter like parsers? When I set time_source as kafka, it worked properly. The timestamp was UTC.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions