Cleaned up the logger code

I made the logger class pure virtual as it is only used as a base class for other loggers (the log method is not even implemented nor could it be in a good way).

Moreover I removed redundant code for building the log string and moved it into a protected static method inside the logger class. This method is now used by the console and file logger and could be easily used by loggers that will follow.