docs: def setup_logger(
      base_name,
      root_dir=None,
      enable_json=True,
      json_formatter='tipsi_tools.tipsi_logging.JSFormatter',
      loggers={},
  ):
      """
      json_formatter:
      'fan.contrib.django.span_formatter.SpanFormatter' - add INSTALLATION_ID, SPAN and etc
      """
      if not root_dir:
          root_dir = os.environ.get('LOG_DIR')
      assert root_dir, 'You should pass root_dir parameter or set env LOG_DIR'
  
      JSON_FORMATTER = {
          '()': json_formatter,
          'env_vars': ['HOST_TYPE', 'TIPSI_CONFIG', 'TIPSI_BRANCH', 'CONTAINER_TYPE'],
      }
  
      default_loggers = {
          '': {'handlers': ['default'], 'level': 'DEBUG', 'propagate': True},
          'googleapicliet.discovery_cache': {'level': 'ERROR'},
          'boto3': {'level': 'INFO'},
          'botocore': {'level': 'INFO'},
          'kazoo': {'level': 'INFO'},
          'urllib3': {'level': 'INFO'},
      }
  
      LOGGING = {
          'version': 1,
          'disable_existing_loggers': False,
          'formatters': {
              'json': JSON_FORMATTER,
              'standard': {'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'},
          },
          'handlers': {'default': base_handler(get_plain_logname(base_name, root_dir, enable_json))},
          'loggers': {**default_loggers, **loggers},
      }
      if enable_json:
          LOGGING['handlers']['json'] = base_handler(
              os.path.join(root_dir, '{}.json_log'.format(base_name)), formatter='json'
          )
          LOGGING['loggers']['']['handlers'].append('json')
      logging.config.dictConfig(LOGGING)