removed self.connect() from transport api, support setting logger before loading transport