Added support for context maps so that custom JSON fields can be passed directly from log messages.

Example:
log.info("Service started in {} seconds", duration/1000, Collections.singletonMap("duration", duration));

Will add "duration" field to the JSON message.