def main(): server = ThreadingUDPServer((HOST, PORT), ThreadedUDPRequestHandler) server_thread = threading.Thread(target=server.serve_forever) server_thread.daemon = True try: server_thread.start() logger = logging.getLogger("app") logger.info("Server started at {} port {}".format(HOST, PORT)) # 一个死循环 while True: time.sleep(100) except (KeyboardInterrupt, SystemExit): server.shutdown() server.server_close() exit()
stream_handler.setFormatter(formatter) file_handler.setFormatter(formatter) from logging import getLogger log = getLogger(__name__) log.addHandler(file_handler) # log.addHandler(stream_handler) # f**k = getLogger("{}_stream_logger".format(__name__)) # f**k.addHandler(stream_handler) from logging import INFO log.setLevel(INFO) # f**k.setLevel(INFO) intercept_domain, intercept_rr = [], [] with open(args.intercept) as zonefile: for zone in zonefile: intercept_domain.append(zone.split(" ")[0]) intercept_rr.append(zone) intercept_domain = list(set(intercept_domain)) server = ThreadingUDPServer((args.host, args.port), CleanDNSHandler) # server_thread = Thread(target=server.serve_forever) # server_thread.daemon = False try: # server_thread.start() server.serve_forever() except KeyboardInterrupt: server.shutdown() server.server_close()