Spaces:
Sleeping
Sleeping
| import logging | |
| import sys | |
| from logging.handlers import RotatingFileHandler | |
| from pathlib import Path | |
| def get_logger(name: str) -> logging.Logger: | |
| logger = logging.getLogger(name) | |
| if logger.hasHandlers(): | |
| return logger | |
| logger.setLevel(logging.DEBUG) | |
| logs_dir = Path("logs") | |
| logs_dir.mkdir(exist_ok=True) | |
| formatter = logging.Formatter( | |
| fmt="%(asctime)s - %(name)s - %(levelname)s - %(message)s", | |
| datefmt="%Y-%m-%d %H:%M:%S" | |
| ) | |
| console_handler = logging.StreamHandler(sys.stdout) | |
| console_handler.setLevel(logging.INFO) | |
| console_handler.setFormatter(formatter) | |
| logger.addHandler(console_handler) | |
| file_handler = RotatingFileHandler( | |
| logs_dir / "app.log", | |
| maxBytes=10 * 1024 * 1024, | |
| backupCount=5 | |
| ) | |
| file_handler.setLevel(logging.DEBUG) | |
| file_handler.setFormatter(formatter) | |
| logger.addHandler(file_handler) | |
| return logger |