code: def _logger(self):
          
          level = logging.INFO
          self.log.setLevel(level)
  
          # clear all handlers
          self.log.handlers = []
  
          # update logging level
          if self.default_args.logging is not None:
              level = self._logger_levels[self.default_args.logging]
          elif self.default_args.tc_log_level is not None:
              level = self._logger_levels[self.default_args.tc_log_level]
          self.log.setLevel(level)
  
          # add file handler if not already added
          if self.default_args.tc_log_path:
              self._logger_fh()
  
          # add api handler if not already added
          if self.default_args.tc_token is not None and self.default_args.tc_log_to_api:
              self._logger_api()
  
          self.log.info('Logging Level: {}'.format(logging.getLevelName(level)))
docs: Create TcEx app logger instance.
  
          The logger is accessible via the ``tc.log.<level>`` call.
  
          **Logging examples**
  
          .. code-block:: python
              :linenos:
              :lineno-start: 1
  
              tcex.log.debug('logging debug')
              tcex.log.info('logging info')
              tcex.log.warning('logging warning')
              tcex.log.error('logging error')
  
          Args:
              stream_only (bool, default:False): If True only the Stream handler will be enabled.
  
          Returns:
              logger: An instance of logging