Removed duplicated code from GenericConsumer 

There was a lot of duplicated code in the GenericConsumer class related to logging.
I pulled it into a single method for the following reasons:
 1. The code was duplicated.
 2. I think a customisable logger should be able to be used. I don't think the framework should have a dependency on a particular logger, you should be able to use any you choose to. If the logger is only referenced once in the file it would make this easier to implement.