lib/fluent/plugin/in_cloudwatch_logs.rb in fluent-plugin-cloudwatch-logs-0.7.5 vs lib/fluent/plugin/in_cloudwatch_logs.rb in fluent-plugin-cloudwatch-logs-0.7.6
- old
+ new
@@ -143,11 +143,16 @@
end
router.emit(@tag, time, record)
}
else
time = (event.timestamp / 1000).floor
- record = @json_handler.load(event.message)
- router.emit(@tag, time, record)
+ begin
+ record = @json_handler.load(event.message)
+ router.emit(@tag, time, record)
+ rescue JSON::ParserError, Yajl::ParseError => error # Catch parser errors
+ log.error "Invalid JSON encountered while parsing event.message"
+ router.emit_error_event(@tag, time, { message: event.message }, error)
+ end
end
end
def get_events(log_stream_name)
request = {