Source code for gunz_cm.utils.logger

"""
Centralized logging configuration for the gunz_cm package.


Examples
--------
"""
__author__ = "Yeremia Gunawan Adhisantoso"
__email__ = "adhisant@tnt.uni-hannover.de"
__license__ = "Clear BSD"
__version__ = "1.0.0"

# =============================================================================
# STANDARD LIBRARY IMPORTS
# =============================================================================
import sys

# =============================================================================
# THIRD-PARTY IMPORTS
# =============================================================================
from loguru import logger


[docs] def setup_logging( verbose: bool, ) -> None: """ Configures logging for the CLI and application. Parameters ---------- verbose : bool If True, sets the console log level to DEBUG. Otherwise, sets it to INFO. Returns ------- None Examples -------- """ #? Configure logging for the CLI. logger.remove() log_level = "DEBUG" if verbose else "INFO" #? Concise console logger. logger.add( sys.stderr, level=log_level, format="<level>{message}</level>", ) #? Verbose file logger. logger.add( "logs/app.log", level="DEBUG", rotation="10 MB", retention="30 days", enqueue=True, backtrace=True, diagnose=True, )