Déterminer si la racine de l'enregistreur est réglé sur le niveau de DEBUG en Python?
Si j'ai mis le module de journalisation de DÉBOGAGE avec un paramètre de ligne de commande comme ceci:
if (opt["log"] == "debug"):
logging.basicConfig(level=logging.DEBUG)
Comment puis-je dit plus tard si l'enregistreur a été mis à DÉBOGUER? Je suis en train d'écrire un décorateur qui
délai d'une fonction si Vrai drapeau est passé, et si aucun indicateur n'est donné, la valeur par défaut
pour l'impression des informations de synchronisation lors de la racine de l'enregistreur est réglé à DÉBOGUER.
- Vous souhaitez éventuellement utiliser quelque chose de spécifique au lieu de couplage présente à l'enregistreur de données, tels que opt["time_functions"] (qui pourrait par défaut à True/False selon une autre option).
Vous devez vous connecter pour publier un commentaire.
logging.getLogger()
sans arguments obtient le niveau de la racine de l'enregistreur de.http://docs.python.org/library/logging.html#logging.Logger.getEffectiveLevel
logging.getLevelName(logging.getLogger().getEffectiveLevel())
. Il serait agréable d'avoir une syntaxe plus simple quand tout ce que vous voulez, c'est la chaîne du niveau actuel.En fait, il y a de mieux: utiliser le code
logging.getLogger().isEnabledFor(logging.DEBUG)
. Je l'ai trouvé en essayant de comprendre de quoi faire avec le résultat degetEffectiveLevel()
.Ci-dessous le code que le module de journalisation lui-même.
Juste