deepreads / src /utils /logging.py
yash-b18
feat: repo scaffold — structure, config, README, requirements
0390c27
Raw History Blame Contribute Delete
910 Bytes
"""
Shared logging utilities.
All scripts should obtain a logger via get_logger() rather than
configuring logging directly.
"""
from __future__ import annotations
import logging
import sys
def get_logger(name: str, level: int = logging.INFO) -> logging.Logger:
"""
Return a named logger with a consistent format.
Args:
name: Logger name, typically __name__ of the calling module.
level: Logging level (default INFO).
Returns:
Configured Logger instance.
"""
logger = logging.getLogger(name)
if not logger.handlers:
handler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter(
fmt="%(asctime)s | %(levelname)-8s | %(name)s | %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(level)
return logger