diff --git a/oephys2nix/logging.py b/oephys2nix/logging.py index d45004c..68228a2 100644 --- a/oephys2nix/logging.py +++ b/oephys2nix/logging.py @@ -5,14 +5,28 @@ from rich.logging import RichHandler DEFAULT_LOG_LEVEL = "DEBUG" -def setup_logging(logger: logging.Logger, level=DEFAULT_LOG_LEVEL): +def setup_logging(logger: logging.Logger, verbosity: int): + level = logging.WARNING # Default level + + if verbosity == 0: + level = logging.ERROR + elif verbosity == 1: + level = logging.INFO + elif verbosity >= 2: + level = logging.DEBUG + print("Debugging enabled.") + else: + print("Invalid verbosity level. Defaulting to WARNING.") + if logger.hasHandlers(): logger.handlers.clear() - stream_handler = RichHandler(rich_tracebacks=True, show_path=False) + stream_handler = RichHandler(rich_tracebacks=True, show_path=level == logging.DEBUG) stream_handler.setLevel(level) fmt_shell = "%(filename)s:%(lineno)d - %(message)s" shell_formatter = logging.Formatter(fmt_shell) stream_handler.setFormatter(shell_formatter) logger.addHandler(stream_handler) logger.setLevel(level) + logger.propagate = False + # logging.basicConfig(level=level, handlers=[stream_handler], force=True) logging.getLogger(__name__).info(f"Logging configured with level {level}.")