def log_info(self, message, type="info"):
        """
        Replace the log_info method with one that uses our stderr logger
        instead of trying to write to stdout.

        Arguments:
        - `message`: The message to log
        - `type`: Type of message to log.. maps to 'info','error',etc on the
                  logger object.
        """
        if self.ignore_log_types not in type:
            if type == "info":
                self.log.info(message)
            elif type == "error":
                self.log.error(message)
            elif type == "warning":
                self.log.warning(message)
            elif type == "debug":
                self.log.debug(message)
            else:
                self.log.info(message)

    # XXX Not sure if I want this or not.. need to see if it is useful
    #     without using errorstack.
    #
    # ##################################################################
    # #
    # def handle_error(self):
    #     """
    #     Override the aysnc_chat's error handler so that we can log the
    #     message
    #     more directly in such a way that errorstack will get a full stack
    #     trace.
    #     """
    #     t, v, tb = sys.exc_info()
    #     # sometimes a user repr method will crash.
    #     try:
    #         self_repr = repr(self)
    #     except:
    #         self_repr = '<__repr__(self) failed for object at %0x>' % d(self)

    #     self.log.error("uncaptured python exception, closing channel %s "
    #                    "(%s:%s)" % (self_repr, t, v), exc_info = (t,v,tb))
    #     self.close()

    ###########################################################################
    #
dataset/ETHPy150Open scanner/asimap/asimap/user_server.py/IMAPUserClientHandler.log_info/swapped operands of `not in`