import logging import sys import options generalLogPath = "./generalLog.log" tradingLogPath = "./tradingLog.log" def setupLogger(name, level, logPath, formatter): logger = logging.getLogger(name) logger.setLevel(level) streamHandler = logging.StreamHandler(sys.stdout) fileHandler = logging.FileHandler(logPath) streamHandler.setFormatter(formatter) fileHandler.setFormatter(formatter) logger.addHandler(streamHandler) logger.addHandler(fileHandler) return logger # Основной лог generalFormatter = logging.Formatter('%(asctime)s - %(module)s - %(levelname)s - %(message)s') generalLogger = setupLogger('general', logging.INFO, generalLogPath, generalFormatter) # Торговый лог (ордера) tradingFormatter = logging.Formatter('%(asctime)s - %(message)s') tradingLogger = setupLogger('trade', logging.NOTSET, tradingLogPath, tradingFormatter) # Максимально подробный общий лог, вызывает повторы в логировании. Его наличие настраивается if options.showExtraDebugLogs: logging.basicConfig(level=logging.DEBUG) superGeneralLogger = logging.getLogger('superGeneral')