Files
the-littlest-jupyterhub/tljh/log.py
Min RK 5da2859408 avoid registering duplicate log handlers
init_logging is called many times in test_config,
which has been registering numerous duplicate log handlers,
attached to stderr that's closed between tests
2023-03-24 11:31:44 +01:00

27 lines
884 B
Python

"""Setup tljh logging"""
import os
import logging
from .config import INSTALL_PREFIX
def init_logging():
"""Setup default tljh logger"""
logger = logging.getLogger("tljh")
os.makedirs(INSTALL_PREFIX, exist_ok=True)
# check if any log handlers are already registered
# don't reconfigure logs if handlers are already configured
# e.g. happens in pytest, which hooks up log handlers for reporting
# or if this function is called twice
if logger.hasHandlers():
return
file_logger = logging.FileHandler(os.path.join(INSTALL_PREFIX, "installer.log"))
file_logger.setFormatter(logging.Formatter("%(asctime)s %(message)s"))
logger.addHandler(file_logger)
stderr_logger = logging.StreamHandler()
stderr_logger.setFormatter(logging.Formatter("%(message)s"))
logger.addHandler(stderr_logger)
logger.setLevel(logging.INFO)