# @File : logger.py # @Time : 2026/04/12 22:18:00 # @Author : SilverAg.L import logging try: import colorlog fmt_arr = [ "%(cyan)s%(asctime)s.%(msecs)03d%(reset)s", "%(log_color)s%(levelname)-7s%(reset)s", "%(blue)s%(message)s%(reset)s", ] fmt = colorlog.ColoredFormatter( " | ".join(fmt_arr), datefmt="%Y-%m-%d %H:%M:%S" ) except ImportError: fmt = logging.Formatter( "%(asctime)s.%(msecs)03d | %(levelname)-7s | %(message)s", datefmt="%Y-%m-%d %H:%M:%S" ) fmt.default_msec_format = "%s.%03d" handler = logging.StreamHandler() handler.setFormatter(fmt) def get_logger(name=None): logger = logging.getLogger(name or __name__) if not logger.handlers: logger.addHandler(handler) logger.setLevel('DEBUG') return logger def test_logger(): log1 = get_logger("test1") _ = get_logger("test1") log1.info("Should print once") if __name__ == "__main__": test_logger()