Ajout d'un logger conforme aux attentes de l'orchestrateur et héritable par les projets utilisant la toolbelt
Actuellement, la journalisation est gérée au niveau de chacun des projets via une option --verbose
dans les CLIs et quelques lignes définissant un logger relativement simple.
Mais ce mécanisme n'est pas conforme et pourrait être rendu générique.
Objectif : créer un module logger dans la toolbelt qui permette de gérer les différents niveaux demandés et de rendre l'utilisation générique depuis les différents projets.
Avant
import logging
[...]
# set log level depending on verbosity argument
if 0 < args.verbosity < 4:
args.verbosity = 40 - (10 * args.verbosity)
elif args.verbosity >= 4:
# debug is the limit
args.verbosity = 40 - (10 * 3)
else:
args.verbosity = 0
logging.basicConfig(
level=args.verbosity,
format="%(asctime)s||%(levelname)s||%(module)s||%(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
console = logging.StreamHandler()
console.setLevel(args.verbosity)
# add the handler to the root logger
logger = logging.getLogger(__title_clean__)
logger.debug(f"Log level set: {logging.getLevelName(args.verbosity)}")
[...]
Après
from gpf_entrepot_toolbelt.utils.gpf_logger import gpf_logger_script
[...]
logger = gpf_logger_script(verbosity=args.verbosity)
[...]
@oslandia qui veut prendre cette tâche ?