(name, log_name="wr.log")
| 8 | |
| 9 | |
| 10 | def get_logger(name, log_name="wr.log"): |
| 11 | global logger |
| 12 | if logger is not None: |
| 13 | return logger |
| 14 | |
| 15 | log_dir = "cache\\logs" |
| 16 | if not os.path.exists(log_dir): |
| 17 | os.makedirs(log_dir) |
| 18 | |
| 19 | logger = logging.getLogger(name) |
| 20 | logger.setLevel(logging.INFO) |
| 21 | |
| 22 | formatter = logging.Formatter("%(asctime)s - [%(filename)s:%(lineno)d] - %(funcName)s - %(levelname)s - %(message)s") |
| 23 | |
| 24 | # 创建一个滚动文件处理器,每个日志文件最大大小为5M,保存5个旧日志文件 |
| 25 | rf_handler = RotatingFileHandler( |
| 26 | os.path.join(log_dir, log_name), |
| 27 | maxBytes=5 * 1024 * 1024, |
| 28 | backupCount=5, |
| 29 | encoding="utf-8", |
| 30 | ) |
| 31 | # rf_handler = TimedRotatingFileHandler(os.path.join(log_dir, log_name), when="d", interval=1, backupCount=7) |
| 32 | # rf_handler.suffix = "%Y-%m-%d_%H-%M-%S.log" # 设置历史文件 后缀 |
| 33 | rf_handler.setFormatter(formatter) |
| 34 | logger.addHandler(rf_handler) |
| 35 | |
| 36 | if os.path.exists(DEBUGMODE_TRIGGER): |
| 37 | logger.setLevel(logging.DEBUG) |
| 38 | console_handler = logging.StreamHandler() |
| 39 | console_handler.setFormatter(formatter) |
| 40 | logger.addHandler(console_handler) |
| 41 | |
| 42 | return logger |
| 43 | |
| 44 | |
| 45 | """ |
no outgoing calls
no test coverage detected