docstr: Log an info message via the `logging` library
  
  Parameters
  ----------
  content: String
      The message to log
  verbose_threshold: Int, or None, default=None
      If None, `content` logged normally. If int and `G.Env.verbose` >= `verbose_threshold`,
      `content` is logged normally. Else if int and `G.Env.verbose` < `verbose_threshold`,
      then `content` is logged on the `logging.debug` level, instead of `logging.info`
  previous_frame: Frame, or None, default=None
      The frame preceding the log call. If not provided, it will be inferred
  add_time: Boolean, default=False
      If True, the current time will be added to `content` before logging
  **kwargs: Dict
      Extra keyword arguments
docstr_tok: ["Log","an","info","message","via","the","`","logging","`","library","Parameters","--","--","--","--","--","content",":","String","The","message","to","log","verbose_threshold",":","Int",",","or","None",",","default=None","If","None",",","`","content","`","logged","normally",".","If","int","and","`","G.Env.verbose","`",">","=","`","verbose_threshold","`",",","`","content","`","is","logged","normally",".","Else","if","int","and","`","G.Env.verbose","`","<","`","verbose_threshold","`",",","then","`","content","`","is","logged","on","the","`","logging.debug","`","level",",","instead","of","`","logging.info","`","previous_frame",":","Frame",",","or","None",",","default=None","The","frame","preceding","the","log","call",".","If","not","provided",",","it","will","be","inferred","add_time",":","Boolean",",","default=False","If","True",",","the","current","time","will","be","added","to","`","content","`","before","logging","*","*","kwargs",":","Dict","Extra","keyword","arguments"]
code: def _logging_log(
      self,
      content,
      verbose_threshold=None,
      previous_frame=None,
      add_time=False,
      **kwargs,
  ):
      """Log an info message via the `logging` library
  
      Parameters
      ----------
      content: String
          The message to log
      verbose_threshold: Int, or None, default=None
          If None, `content` logged normally. If int and `G.Env.verbose` >= `verbose_threshold`,
          `content` is logged normally. Else if int and `G.Env.verbose` < `verbose_threshold`,
          then `content` is logged on the `logging.debug` level, instead of `logging.info`
      previous_frame: Frame, or None, default=None
          The frame preceding the log call. If not provided, it will be inferred
      add_time: Boolean, default=False
          If True, the current time will be added to `content` before logging
      **kwargs: Dict
          Extra keyword arguments"""
      if self.add_frame is True:
          previous_frame = (
              previous_frame or inspect.currentframe().f_back
          )
          try:
              frame_source = format_frame_source(previous_frame)
          finally:
              del previous_frame
          content = f"{frame_source} - {content}"
  
      content = add_time_to_content(content, add_time=add_time)
  
      if (verbose_threshold is None) or (
          G.Env.verbose >= verbose_threshold
      ):
          logging.info(content)
      else:
          logging.debug(content)
  
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 10 for calling the ReportingHandler obj's underlying member method code with example usage: obj._logging_log(content, verbose_threshold, previous_frame, add_time) without return types