Tooling for managing asset compression, storage, and retrieval
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import logging
LOG = logging.getLogger("acm.logging")
def setup_basic_logging( logger_name, logger_level = logging.ERROR, log_format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s", date_format="%Y-%m-%dT%H:%M:%S%Z", default_level = logging.INFO, ): """
Initialize logging with sane defaults """
logging.basicConfig( format=log_format, datefmt=date_format, level=default_level ) configured_logger = logging.getLogger(logger_name) configured_logger.setLevel(logger_level)
def update_logging_level(verbosity: int = 0, *loggers): """
Configure logging based on the requested verbosity """
if verbosity > 2: logging_level = logging.DEBUG elif verbosity > 1: logging_level = logging.INFO elif verbosity > 0: logging_level = logging.WARN elif verbosity == 0: logging_level = logging.ERROR elif verbosity < 0: logging_level = logging.CRITICAL
for logger in loggers: if isinstance(logger, logging.Logger) or isinstance(logger, logging.Handler): logger.setLevel(logging_level) else: logger_instance = logging.getLogger(logger) logger_instance.setLevel(logging_level)
LOG.debug("Set logging level for to %s", logging_level)
|