Source code for nerea.logging_config

import logging
import sys

[docs] def setup_logging(level: int=logging.INFO) -> logging.RootLogger: """ Configure global logging for the package. Parameters ---------- level: int, optional level to display log messages. Default is `logging.INFO`. Returns ------- logging.RootLogger the logger. """ root_logger = logging.getLogger() # Avoid adding multiple handlers if setup is called multiple times if root_logger.handlers: return root_logger handler = logging.StreamHandler(sys.stdout) formatter = logging.Formatter( "%(asctime)s [%(levelname)s] %(name)s: %(message)s", datefmt="%Y-%m-%d %H:%M:%S" ) handler.setFormatter(formatter) root_logger.setLevel(level) root_logger.addHandler(handler) return root_logger