data-anaxi/anaxi/logging.py

27 lines
740 B
Python

import logging
import os
from anaxi.constants import PATHS
def get_anaxi_logger(name: str) -> None:
logger = logging.getLogger(name)
anaxi_formatter = logging.Formatter(
fmt="%(asctime)s - [%(levelname)s] - %(filename)s - L%(lineno)d - %(message)s"
)
console_handler = logging.StreamHandler()
console_handler.setFormatter(anaxi_formatter)
logger.addHandler(console_handler)
if not os.path.exists(os.path.dirname(PATHS.logging_file)):
os.makedirs(os.path.dirname(PATHS.logging_file))
file_handler = logging.FileHandler(filename=PATHS.logging_file)
file_handler.setFormatter(anaxi_formatter)
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)
return logger