Lal 368 - Added abstraction for the logger

I do not think the user of this struct should know either or not it is synchronous. I don't like adding the sync word in that method.