When records are filtered we still want to count them in the checkpoint.
This will allow the checkpoint to pick up at the appropriate spot if any
messages are filtered out.
Requiring the Logger be passed in to each of the structs was causing
Panics if the Logger was omitted.
* Add function for overriding the default logger
* Remove panics caused by initialization
To allow for different logging endpoints we'll introduce a Logger
interface that will be passed into the pipeline during initialization.
* Add Logger interface
* Use logger interface in pipeline and emitters
Noticed GetRecords error when a Shard's lease expired.
* Added a timeout so we don't hit the rate limit on this type of error.
* Increased the timeout when there are no Records on the stream.