Added log message formatter

Output format of a record can now be customized by either creating a
Formatter or create a StringFormatter with a flexible format string.