text: import json
  import logging.config
  import multiprocessing
  import os
  
  default_config = {
      "version": 1,
      "disable_existing_loggers": False,
      "formatters": {
          "simple": {
              "format": "%(asctime)s :: %(name)s :: %(levelname)s :: %(message)s"
          }
      },
  
      "handlers": {
          "console": {
              "class": "logging.StreamHandler",
              "level": "DEBUG",
              "formatter": "simple",
              "stream": "ext://sys.stdout"
          },
  
          "info_file_handler": {
              "class": "logging.handlers.RotatingFileHandler",
              "level": "INFO",
              "formatter": "simple",
              "filename": "mf_info.log",
              "maxBytes": 10485760,
              "backupCount": 20,
              "encoding": "utf8"
          },
  
          "error_file_handler": {
              "class": "logging.handlers.RotatingFileHandler",
              "level": "ERROR",
              "formatter": "simple",
              "filename": "mf_errors.log",
              "maxBytes": 10485760,
              "backupCount": 20,
              "encoding": "utf8"
          }
      },
  
      "root": {
          "level": "INFO",
          "handlers": ["console", "info_file_handler", "error_file_handler"]
      }
  }
  
  def setup_logging():
      multiprocessing.log_to_stderr()
      path = os.path.join(os.path.dirname(__file__), 'logconfig.json')
      try:
          with open(path, 'rt') as f:
              config = json.load(f)
      except Exception as e:
          logging.exception('Could not load logconfig.json. Loading default logging configuration.')
          config = default_config
      logging.config.dictConfig(config)
  