<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def init(port=None, do_not_exit=False, disable_tls=False, log_level='WARNING'):
 """Start the Xenon GRPC server on the specified port, or, if a service is already running on that port, connect to that. If no port is given, a random port is selected. This means that, by default, every python instance will start its own instance of a xenon-grpc process. :param port: the port number :param do_not_exit: by default the GRPC server is shut down after Python exits (through the `atexit` module), setting this value to `True` will prevent that from happening."""

    logger = logging.getLogger('xenon')
    logger.setLevel(logging.INFO)

    logger_handler = logging.StreamHandler()
    logger_handler.setFormatter(logging.Formatter(style='{'))
    logger_handler.setLevel(getattr(logging, log_level))
    logger.addHandler(logger_handler)

    if port is None:
        port = find_free_port()

    if __server__.process is not None:
        logger.warning(
            "You tried to run init(), but the server is already running.")
        return __server__

    __server__.port = port
    __server__.disable_tls = disable_tls
    __server__.__enter__()

    if not do_not_exit:
        atexit.register(__server__.__exit__, None, None, None)

    return __server__