docstr: Ensure all logging parameters are properly formatted
docstr_tok: ["Ensure","all","logging","parameters","are","properly","formatted"]
code: def _validate_parameters(self):
      """Ensure all logging parameters are properly formatted"""
      #################### reporting_type ####################
      valid_types = ["logging", "standard", "advanced"]
      if not isinstance(self.reporting_type, str):
          raise TypeError(
              f"reporting_type must be a str. Received {self.reporting_type}"
          )
      if self.reporting_type not in valid_types:
          raise ValueError(
              f"reporting_type must be in {valid_types}, not {self.reporting_type}"
          )
  
      #################### heartbeat_path ####################
      if self.heartbeat_path is not None:
          if not isinstance(self.heartbeat_path, str):
              raise TypeError(
                  f"heartbeat_path must be a str. Received {self.heartbeat_path}"
              )
  
          head, tail = os.path.split(self.heartbeat_path)
  
          if not tail.endswith(".log"):
              raise ValueError(
                  f"heartbeat_path must end in '.log'. Given {self.heartbeat_path}"
              )
          if not os.path.exists(head):
              raise FileNotFoundError(
                  f"heartbeat_path must start with an existing dir. Given {self.heartbeat_path}"
              )
  
      #################### float_format ####################
      if not isinstance(self.float_format, str):
          raise TypeError(
              f"float_format must be a format str. Received {self.float_format}"
          )
      if (not self.float_format.startswith("{")) or (
          not self.float_format.endswith("}")
      ):
          raise ValueError(
              f"float_format must be inside '{{' and '}}'. Got {self.float_format}"
          )
  
      #################### console_params ####################
      if not isinstance(self.console_params, dict):
          raise TypeError(
              f"console_params must be dict or None. Given {self.console_params}"
          )
  
      #################### heartbeat_params ####################
      if not isinstance(self.heartbeat_params, dict):
          raise TypeError(
              f"heartbeat_params must be dict or None. Given {self.heartbeat_params}"
          )
  
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 2 for calling the ReportingHandler obj's underlying member method code with example usage: obj._validate_parameters() without return types