#!/usr/bin/env python3.7 import logging from Server import Server def initLogging(logFileName: str) -> None: """ Initialise the logging method """ logFormatter = logging.Formatter( fmt="[%(asctime)s][%(levelname)s] %(message)s", datefmt='%d-%b-%y %H:%M:%S') rootLogger = logging.getLogger() fileHandler = logging.FileHandler(logFileName, mode='a') fileHandler.setFormatter(logFormatter) rootLogger.addHandler(fileHandler) consoleHandler = logging.StreamHandler() consoleHandler.setFormatter(logFormatter) rootLogger.addHandler(consoleHandler) rootLogger.setLevel(logging.INFO) if __name__ == "__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument('host', metavar='HOST', help='IP to listen.', type=str) parser.add_argument('port', metavar='PORT', help='Port to listen.', type=int) parser.add_argument('--logFile', metavar='LOGPATH', help='Path to log file, default is log.txt', type=str, required=False, default='log.txt') args = parser.parse_args() initLogging(args.logFile) try: Server(args.host, args.port).run() except KeyboardInterrupt: logging.info('Stopped by user input')