parameters: (name=None, filename=None, filemode=None, level=WARNING)
return_statement: return logger
docstring: Gets a customized logger.
  
      Parameters
      ----------
      name: str, optional
          Name of the logger.
      filename: str, optional
          The filename to which the logger's output will be sent.
      filemode: str, optional
          The file mode to open the file (corresponding to `filename`),
          default is 'a' if `filename` is not ``None``.
      level: int, optional
          The `logging` level for the logger.
          See: https://docs.python.org/2/library/logging.html#logging-levels
  
      Returns
      -------
      Logger
          A customized `Logger` object.
  
      Example
      -------
      ## get_logger call with default parameters.
      >>> from mxnet.log import get_logger
      >>> logger = get_logger("Test")
      >>> logger.warn("Hello World")
      W0505 00:29:47 3525 <stdin>:<module>:1] Hello World
  
      ## get_logger call with WARNING level.
      >>> import logging
      >>> logger = get_logger("Test2", level=logging.WARNING)
      >>> logger.warn("Hello World")
      W0505 00:30:50 3525 <stdin>:<module>:1] Hello World
      >>> logger.debug("Hello World") # This doesn't return anything as the level is logging.WARNING.
  
      ## get_logger call with DEBUG level.
      >>> logger = get_logger("Test3", level=logging.DEBUG)
      >>> logger.debug("Hello World") # Logs the debug output as the level is logging.DEBUG.
      D0505 00:31:30 3525 <stdin>:<module>:1] Hello World
docstring_summary: Gets a customized logger.
docstring_tokens: Gets a customized logger .
function: def get_logger(name=None, filename=None, filemode=None, level=WARNING):
      """Gets a customized logger.
  
      Parameters
      ----------
      name: str, optional
          Name of the logger.
      filename: str, optional
          The filename to which the logger's output will be sent.
      filemode: str, optional
          The file mode to open the file (corresponding to `filename`),
          default is 'a' if `filename` is not ``None``.
      level: int, optional
          The `logging` level for the logger.
          See: https://docs.python.org/2/library/logging.html#logging-levels
  
      Returns
      -------
      Logger
          A customized `Logger` object.
  
      Example
      -------
      ## get_logger call with default parameters.
      >>> from mxnet.log import get_logger
      >>> logger = get_logger("Test")
      >>> logger.warn("Hello World")
      W0505 00:29:47 3525 <stdin>:<module>:1] Hello World
  
      ## get_logger call with WARNING level.
      >>> import logging
      >>> logger = get_logger("Test2", level=logging.WARNING)
      >>> logger.warn("Hello World")
      W0505 00:30:50 3525 <stdin>:<module>:1] Hello World
      >>> logger.debug("Hello World") # This doesn't return anything as the level is logging.WARNING.
  
      ## get_logger call with DEBUG level.
      >>> logger = get_logger("Test3", level=logging.DEBUG)
      >>> logger.debug("Hello World") # Logs the debug output as the level is logging.DEBUG.
      D0505 00:31:30 3525 <stdin>:<module>:1] Hello World
      """
      logger = logging.getLogger(name)
      if name is not None and not getattr(logger, '_init_done', None):
          logger._init_done = True
          if filename:
              mode = filemode if filemode else 'a'
              hdlr = logging.FileHandler(filename, mode)
          else:
              hdlr = logging.StreamHandler() # pylint: disable=redefined-variable-type
              # the `_Formatter` contain some escape character to
              # represent color, which is not suitable for FileHandler,
              # (TODO) maybe we can add another Formatter for FileHandler.
              hdlr.setFormatter(_Formatter())
          logger.addHandler(hdlr)
          logger.setLevel(level)
      return logger
function_tokens: def get_logger ( name = None , filename = None , filemode = None , level = WARNING ) : logger = logging . getLogger ( name ) if name is not None and not getattr ( logger , '_init_done' , None ) : logger . _init_done = True if filename : mode = filemode if filemode else 'a' hdlr = logging . FileHandler ( filename , mode ) else : hdlr = logging . StreamHandler ( ) # pylint: disable=redefined-variable-type # the `_Formatter` contain some escape character to # represent color, which is not suitable for FileHandler, # (TODO) maybe we can add another Formatter for FileHandler. hdlr . setFormatter ( _Formatter ( ) ) logger . addHandler ( hdlr ) logger . setLevel ( level ) return logger