def run():
    """Main function
    """
    import argparse

    global LOGGER

    parser = argparse.ArgumentParser()
    parser.add_argument("-r", "--rotated", help="Time rotated log file")
    parser.add_argument("-v", "--verbose", help="print debug messages too",
                        action="store_true")
    parser.add_argument("-s", "--server", help="server to listen to",
                        default="localhost")
    parser.add_argument("-p", "--port", help="port to listen to",
                        default=16543,
                        type=int)
    opts = parser.parse_args()

    if opts.verbose:
        loglevel = logging.DEBUG
    else:
        loglevel = logging.INFO

    if opts.rotated:
        handler = logging.handlers.TimedRotatingFileHandler(opts.rotated,
                                                            when="midnight",
                                                            backupCount=7)
    else:
        handler = logging.StreamHandler()

    LOGGER = logging.getLogger("pytroll")
    LOGGER.setLevel(loglevel)

    handler.setLevel(loglevel)

    formatter = ColoredFormatter("[%(asctime)s %(levelname)-19s] %(message)s")
    handler.setFormatter(formatter)
    LOGGER.addHandler(handler)

    import time
    try:
        tlogger = Logger(opts.server, opts.port)
        # logger = Logger("safe", 16543)
        tlogger.start()
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        tlogger.stop()
        print("Thanks for using pytroll/logger. "
              "See you soon on www.pytroll.org!")