Loading ballontranslator/ui/constants.py +4 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ ICON_PATH = 'data/icons/[ICONNAME]' UI_PATH = osp.dirname(osp.abspath(__file__)) PROGRAM_PATH = osp.dirname(UI_PATH) LOGGING_PATH = osp.join(PROGRAM_PATH, 'data/logs') LIBS_PATH = osp.join(PROGRAM_PATH, 'data/libs') Loading Loading @@ -47,3 +48,5 @@ FLAG_QT6 = False SLIDERHANDLE_COLOR = (85,85,96) FOREGROUND_FONTCOLOR = (93,93,95) MAX_NUM_LOG = 7 No newline at end of file ballontranslator/utils/logger.py +25 −1 Original line number Diff line number Diff line import datetime import logging import os import os.path as osp from glob import glob import termcolor if os.name == "nt": # Windows import colorama colorama.init() Loading Loading @@ -64,5 +66,27 @@ class ColoredLogger(logging.Logger): return def setup_logging(logfile_dir: str, max_num_logs=14): if not osp.exists(logfile_dir): os.makedirs(logfile_dir) else: old_logs = glob(osp.join(logfile_dir, '*.log')) n_log = len(old_logs) if n_log >= max_num_logs: to_remove = n_log - max_num_logs + 1 try: for ii in range(to_remove): os.remove(old_logs[ii]) except Exception as e: logger.error(e) logfilename = datetime.datetime.now().strftime('_%Y_%m_%d-%H_%M_%S.log') logfilep = osp.join(logfile_dir, logfilename) fh = logging.FileHandler(logfilep, mode='w') fh.setLevel(logging.DEBUG) logger.addHandler(fh) logging.setLoggerClass(ColoredLogger) logger = logging.getLogger('BallonTranslator') Loading
ballontranslator/ui/constants.py +4 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ ICON_PATH = 'data/icons/[ICONNAME]' UI_PATH = osp.dirname(osp.abspath(__file__)) PROGRAM_PATH = osp.dirname(UI_PATH) LOGGING_PATH = osp.join(PROGRAM_PATH, 'data/logs') LIBS_PATH = osp.join(PROGRAM_PATH, 'data/libs') Loading Loading @@ -47,3 +48,5 @@ FLAG_QT6 = False SLIDERHANDLE_COLOR = (85,85,96) FOREGROUND_FONTCOLOR = (93,93,95) MAX_NUM_LOG = 7 No newline at end of file
ballontranslator/utils/logger.py +25 −1 Original line number Diff line number Diff line import datetime import logging import os import os.path as osp from glob import glob import termcolor if os.name == "nt": # Windows import colorama colorama.init() Loading Loading @@ -64,5 +66,27 @@ class ColoredLogger(logging.Logger): return def setup_logging(logfile_dir: str, max_num_logs=14): if not osp.exists(logfile_dir): os.makedirs(logfile_dir) else: old_logs = glob(osp.join(logfile_dir, '*.log')) n_log = len(old_logs) if n_log >= max_num_logs: to_remove = n_log - max_num_logs + 1 try: for ii in range(to_remove): os.remove(old_logs[ii]) except Exception as e: logger.error(e) logfilename = datetime.datetime.now().strftime('_%Y_%m_%d-%H_%M_%S.log') logfilep = osp.join(logfile_dir, logfilename) fh = logging.FileHandler(logfilep, mode='w') fh.setLevel(logging.DEBUG) logger.addHandler(fh) logging.setLoggerClass(ColoredLogger) logger = logging.getLogger('BallonTranslator')