Spaces:
Runtime error
Runtime error
| """ | |
| Centralised logging configuration for BioLitAI-X. | |
| Import get_logger(name) in every module instead of logging.getLogger directly. | |
| """ | |
| import logging | |
| import sys | |
| from pathlib import Path | |
| from config import LOG_LEVEL, LOG_DIR | |
| def get_logger(name: str) -> logging.Logger: | |
| logger = logging.getLogger(name) | |
| if logger.handlers: | |
| return logger | |
| logger.setLevel(getattr(logging, LOG_LEVEL.upper(), logging.INFO)) | |
| fmt = logging.Formatter( | |
| "%(asctime)s %(levelname)-8s %(name)s %(message)s", | |
| datefmt="%Y-%m-%d %H:%M:%S", | |
| ) | |
| ch = logging.StreamHandler(sys.stdout) | |
| ch.setFormatter(fmt) | |
| logger.addHandler(ch) | |
| try: | |
| fh = logging.FileHandler(Path(LOG_DIR) / "biolita.log", encoding="utf-8") | |
| fh.setFormatter(fmt) | |
| logger.addHandler(fh) | |
| except Exception: | |
| pass | |
| return logger | |