class_docstr: Logger to be used by all applications and classes.
  
  Notes
  -----
  Singleton class i.e. setting the log level changes the output globally.
  
  Examples
  --------
  Initializing the logger
  
  >>> from medpy.core import Logger
  >>> logger = Logger.getInstance()
  
  Error messages are passed to stdout
  
  >>> logger.error('error message')
  15.09.2014 12:40:25 [ERROR   ] error message
  >>> logger.error('critical message')
  15.09.2014 12:40:42 [CRITICAL] critical message
  
  But debug and info messages are suppressed
  
  >>> logger.info('info message')
  >>> logger.debug('debug message')
  
  Unless the log level is set accordingly
  
  >>> import logging
  >>> logger.setLevel(logging.DEBUG)
  
  >>> logger.info('info message')
  15.09.2014 12:43:06 [INFO    ] info message (in <ipython-input-14-a08cad56519d>.<module>:1)
  >>> logger.debug('debug message')
  15.09.2014 12:42:50 [DEBUG   ] debug message (in <ipython-input-13-3bb0c512b560>.<module>:1)
      
docstr: Overrides the parent method to adapt the formatting string to the level.
  
  Parameters
  ----------
  level : int
      The new log level to set. See the logging levels in the logging module for details.
      
  Examples
  --------
  >>> import logging
  >>> Logger.setLevel(logging.DEBUG)
docstr_tok: ["Overrides","the","parent","method","to","adapt","the","formatting","string","to","the","level",".","Parameters","--","--","--","--","--","level",":","int","The","new","log","level","to","set",".","See","the","logging","levels","in","the","logging","module","for","details",".","Examples","--","--","--","--",">",">",">","import","logging",">",">",">","Logger.setLevel","(","logging.DEBUG",")"]
code: def setLevel(self, level):
      r"""Overrides the parent method to adapt the formatting string to the level.
  
      Parameters
      ----------
      level : int
          The new log level to set. See the logging levels in the logging module for details.
  
      Examples
      --------
      >>> import logging
      >>> Logger.setLevel(logging.DEBUG)
      """
      if logging.DEBUG >= level:
          formatter = logging.Formatter(
              "%(asctime)s [%(levelname)-8s] %(message)s (in %(module)s.%(funcName)s:%(lineno)s)",
              "%d.%m.%Y %H:%M:%S",
          )
          self._handler.setFormatter(formatter)
      else:
          formatter = logging.Formatter(
              "%(asctime)s [%(levelname)-8s] %(message)s",
              "%d.%m.%Y %H:%M:%S",
          )
          self._handler.setFormatter(formatter)
  
      NativeLogger.setLevel(self, level)
  
file_path: medpy/medpy/core/logger.py
imports: import sys
  import logging
  from logging import Logger
label_desc: Use image node_id 3 for calling the Logger obj's underlying member method code with example usage: obj.setLevel(level) without return types