code: def __log_line(self):
      if self.__is_looping and not (
          self.__sections
          and isinstance(self.__sections[-1], OuterSection)
      ):
          self.__log_looping_line()
          return
  
      if len(self.__sections) == 0:
          return
  
      parts = self.__sections[-1].log()
      if parts is None:
          return
  
      if not self.__is_silent:
          logger().log(parts, is_new_line=False)
  
imports: import typing
  from typing import Optional, List, Union, Tuple
  from .iterator import Iterator
  from .loop import Loop
  from .mix import Mix
  from .sections import Section, OuterSection
  from .time_recorder import TimeRecorder, Summary
  from ..logger import logger_singleton
  from ..logger.types import LogPart
  from ..tracker import tracker_singleton
  from ..util.colors import StyleCode
  from ...logger import Text
  from ...utils.notice import labml_notice
label_desc: Use image node_id 17 for calling the Monitor obj's underlying member method code with example usage: obj.__log_line() without return types