Source code for mkt.databases.log_config
"""Logging configuration helpers and argparse logging flags.
Provides :func:`configure_logging` to set up package logging and
:func:`add_logging_flags` to attach verbosity flags to an argparse parser.
"""
import logging
[docs]
def add_logging_flags(parser):
parser.add_argument(
"--verbose",
type=str,
default="INFO",
choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],
help="Set the logging level.",
)
return parser
[docs]
def configure_logging(verbose: bool = False):
loggers = [
logging.getLogger("mkt.databases"),
logging.getLogger("mkt.schema"),
]
for logger in loggers:
ch = logging.StreamHandler()
if verbose:
logger.setLevel(logging.DEBUG)
ch.setLevel(logging.DEBUG)
else:
logger.setLevel(logging.INFO)
ch.setLevel(logging.INFO)
formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
ch.setFormatter(formatter)
logger.addHandler(ch)