class_docstr: Logger is a class to enable user to store properties
  
  Attributes
  ----------
  config : dict
      dictionary containing input or output configs from the run
  results : dict
      dictionary containing output results from the run
  
  Methods
  -------
  log_config(config)
      Saving the configuration dictionary for the run
  log_results(results)
      Saving the result dictionary for the run
  
  Raises
  ------
  InvalidArgumentType
code: def log_result(self, results):
      if not isinstance(results, dict):
          raise InvalidArgumentType()
  
      results_path = (
          os.path.join(self.task_dir, "stats.json")
          if os.path.isdir(self.task_dir)
          else os.path.join(os.getcwd(), "stats.json")
      )
  
      return self.__save_dictionary(results, results_path)
  
file_path: datmo/datmo/logger.py
imports: from __future__ import print_function
  import os
  from datmo.core.util.json_store import JSONStore
  from datmo.core.util.exceptions import InvalidArgumentType
label_desc: Use image node_id 4 for calling the Logger obj's underlying member method code with example usage: obj.log_result(results) and returns: self