Source code for jammy.logging.logger
import sys
from loguru import logger
__all__ = ["get_logger"]
logger.remove()
logger_sink = {}
LOG_FORMAT = (
"<green>{time:MM-DD HH:mm:ss.SSS}</green> |"
"<red>[{process.name}]</red>|"
"<level>{level: <8}</level> |"
"<cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>"
)
[docs]def get_logger(file_name=None, clear=False, **kwargs):
global logger_sink # pylint: disable=global-statement
if clear:
logger.remove()
logger_sink.clear()
if file_name is None:
file_name = sys.stderr
if "level" not in kwargs:
kwargs["level"] = "INFO"
if "format" not in kwargs:
kwargs["format"] = LOG_FORMAT
if file_name in logger_sink.values():
# FIXME:
# logger.debug("already registered")
logger.debug(f"{str(file_name)} already registered")
else:
# if "level" not in kwargs:
# kwargs["level"] = "DEBUG" if jam_is_debug() else "INFO"
sink_id = logger.add(file_name, **kwargs)
logger_sink[sink_id] = file_name
logger.debug(f"sink_id: {sink_id:02d} ---> {str(file_name)}")
return logger