def formatLog(source='', level='', title='', data={}):
    """ Similar to format, but takes additional reserved params to promote logging best-practices

  :param level - severity of message - how bad is it?
  :param source - application context - where did it come from?
  :param title - brief description - what kind of event happened?
  :param data - additional information - what details help to investigate?
  """
    source = '' if source is None else source
    level = '' if level is None else level
    title = '' if title is None else title
    if not type(data) is dict:
        data = {}
    data['source'] = source
    data['level'] = level
    data['title'] = title
    return format(data)
