code: def log_request_success(self, method, full_url, path, body, status_code, response, duration):
          
          #  TODO: optionally pass in params instead of full_url and do urlencode only when needed
  
          # body has already been serialized to utf-8, deserialize it for logging
          # TODO: find a better way to avoid (de)encoding the body back and forth
          if body:
              try:
                  body = body.decode('utf-8', 'ignore')
              except AttributeError:
                  pass
  
          logger.info(
              '%s %s [status:%s request:%.3fs]', method, full_url,
              status_code, duration
          )
          logger.debug('> %s', body)
          logger.debug('< %s', response)
  
          self._log_trace(method, path, body, status_code, response, duration)
docs: Log a successful API call.