"""
Setup logger for the project.
"""
from loguru import logger as _logger
LOG_FORMAT: str = " | ".join(
[
"{time:YYYY-MM-DD HH:mm:ss:SSS}",
"{level: <8}",
"{name}",
"{function}",
"{message}",
]
)
_logger.remove()
_logger.add(
lambda msg: print(msg, end=""),
format=LOG_FORMAT,
level="DEBUG",
enqueue=False # Disable multiprocessing queue as it can cause issues with Lambdas
)
def new_logger(name: str) -> _logger:
"""Create a new logger.
Args:
name (str): Logger name.
"""
return _logger.bind(name=name)