diff --git a/lib/rackstash/encoder/gelf.rb b/lib/rackstash/encoder/gelf.rb index 80e2968..7991cdf 100644 --- a/lib/rackstash/encoder/gelf.rb +++ b/lib/rackstash/encoder/gelf.rb @@ -134,8 +134,10 @@ module Rackstash def gelf_timestamp(timestamp) time = case timestamp - when Time, DateTime, Date + when Time, DateTime timestamp.to_time + when Date + Time.new(timestamp.year, timestamp.month, timestamp.day, 0, 0, 0, 0) when String Time.iso8601(timestamp) rescue Time.now.utc when Integer, Float diff --git a/spec/rackstash/encoder/gelf_spec.rb b/spec/rackstash/encoder/gelf_spec.rb index 435b170..e1e2fb2 100644 --- a/spec/rackstash/encoder/gelf_spec.rb +++ b/spec/rackstash/encoder/gelf_spec.rb @@ -55,7 +55,7 @@ RSpec.describe Rackstash::Encoder::GELF do it 'formats a Date' do event = { '@timestamp' => Date.new(2016, 10, 17) } - expect(encoder.encode(event)).to include '"timestamp":1476655200.0' + expect(encoder.encode(event)).to include '"timestamp":1476662400.0' end it 'formats a String' do