docstr: Initialize and configure logging to be handled by the `logging` library
docstr_tok: ["Initialize","and","configure","logging","to","be","handled","by","the","`","logging","`","library"]
code: def _initialize_logging_logging(self):
      """Initialize and configure logging to be handled by the `logging` library"""
      #################### Clear Logging Configuration ####################
      root = logging.getLogger()
      list(map(root.removeHandler, root.handlers[:]))
      list(map(root.removeFilter, root.filters[:]))
  
      #################### Configure Logging ####################
      exceptions.hook_exception_handler()
  
      _logger = logging.getLogger(__name__)
      _logger.setLevel(logging.DEBUG)
  
      handlers = [
          self._configure_console_handler(**self.console_params)
      ]
  
      # Suppress FileExistsError - Raised when self.heartbeat_path is None, meaning heartbeat blacklisted
      with suppress(FileExistsError):
          handlers.append(
              self._configure_heartbeat_handler(**self.heartbeat_params)
          )
  
      logging.basicConfig(handlers=handlers, level=logging.DEBUG)
      self.debug("Logging Logging has been initialized!")
  
imports: from hyperparameter_hunter.i_o import exceptions
  from hyperparameter_hunter.space.dimensions import Categorical
  from hyperparameter_hunter.settings import G
  from hyperparameter_hunter.utils.general_utils import now_time, expand_mins_secs
  from contextlib import suppress
  from datetime import datetime
  import inspect
  import logging
  import os.path
  import sys
  from typing import List
label_desc: Use image node_id 4 for calling the ReportingHandler obj's underlying member method code with example usage: obj._initialize_logging_logging() without return types