mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 06:37:19 -04:00
- use DateTime.parse to ensure any ISO8601 format dates rae in our common
format. This may not be necessary in the long run.
This commit is contained in:
parent
5a8a350ef3
commit
37488a44fc
1 changed files with 10 additions and 9 deletions
|
@ -40,16 +40,17 @@ class LogStash::Filters::Date < LogStash::Filters::Base
|
|||
fieldvalue = event.fields[field]
|
||||
fieldvalue = [fieldvalue] if fieldvalue.is_a?(String)
|
||||
fieldvalue.each do |value|
|
||||
if format == "ISO8601"
|
||||
event.timestamp = value
|
||||
else
|
||||
begin
|
||||
time = DateTime.strptime(value, format)
|
||||
event.timestamp = LogStash::Time.to_iso8601(time)
|
||||
@logger.debug "Parsed #{value.inspect} as #{event.timestamp}"
|
||||
rescue
|
||||
@logger.warn "Failed parsing date #{value.inspect} from field #{field} with format #{format.inspect}: #{$!}"
|
||||
begin
|
||||
case format
|
||||
when "ISO8601"
|
||||
time = DateTime.parse(value)
|
||||
else
|
||||
time = DateTime.strptime(value, format)
|
||||
end
|
||||
event.timestamp = LogStash::Time.to_iso8601(time)
|
||||
@logger.debug "Parsed #{value.inspect} as #{event.timestamp}"
|
||||
rescue
|
||||
@logger.warn "Failed parsing date #{value.inspect} from field #{field} with format #{format.inspect}: #{$!}"
|
||||
end
|
||||
end # fieldvalue.each
|
||||
end # if this event has a field we expect to be a timestamp
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue