code: def get_logger(name, level=logging.CRITICAL + 1):
      """
      Create a suitable logger object for this module.
      The goal is not to change settings of the root logger, to avoid getting
      other modules' logs on the screen.
      If a logger exists with same name, reuse it. (Else it would have duplicate
      handlers and messages would be doubled.)
      The level is set to CRITICAL+1 by default, to avoid any logging.
      """
      # First, test if there is already a logger with the same name, else it
      # will generate duplicate messages (due to duplicate handlers):
      if name in logging.Logger.manager.loggerDict:
          # NOTE: another less intrusive but more "hackish" solution would be to
          # use getLogger then test if its effective level is not default.
          logger = logging.getLogger(name)
          # make sure level is OK:
          logger.setLevel(level)
          return logger
      # get a new logger:
      logger = logging.getLogger(name)
      # only add a NullHandler for this logger, it is up to the application
      # to configure its own logging:
      logger.addHandler(logging.NullHandler())
      logger.setLevel(level)
      return logger
  
imports: from __future__ import print_function
  import io
  import sys
  import struct, array, os.path, datetime, logging
label_desc: Use image node_id 1 for calling a global function with example usage: get_logger(name, level) and returns: logger, logger