Python Logging Setlevel
Weiß jemand, ob es eine Möglichkeit gibt, eine variable zu verwenden, die in der setlevel () - Funktion von Python-Logging-Modul?
Im moment bin ich mit dieser:
Log = logging.getLogger('myLogger')
Log.setLevel(logging.DEBUG)
Aber ich hätte gerne diese:
Log = logging.getLogger('myLogger')
levels = {'CRITICAL' : logging.critical,
'ERROR' : logging.error,
'WARNING' : logging.warning,
'INFO' : logging.info,
'DEBUG' : logging.debug
}
level = levels['INFO']
Log.setLevel(level)
Aber es scheint nicht zu funktionieren - es funktioniert einfach nicht alles loggen, was.
Ich mache das so, dass ich einstellen kann das logging-level für eine ganze Reihe von Skripts, die aus einer Variablen in eine einzige config-Datei. Ich entschuldige mich, wenn ich etwas fehlt hier offensichtlich!
InformationsquelleAutor der Frage Jak | 2012-04-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie auch in der Lage sein, dies zu tun:
Den
logging.getLevelName(lvl)
Funktion funktioniert in beide Richtungen. Ich benutze es, es funktioniert (überprüfen Sie Ihre python-Implementierung).Dies erspart Ihnen die Mühe zu pflegen Sie Ihre eigenen Wörterbuch, und reduziert die Möglichkeit von typo-Fehler.
Prost!
InformationsquelleAutor der Antwort Sébastien RoccaSerra
Hatte ich Probleme mit python 3 und habe diese für mich arbeiten:
https://docs.python.org/3/howto/logging.html
InformationsquelleAutor der Antwort svenhornberg
Was über die Verwendung von
getattr
auflogging
Modul?InformationsquelleAutor der Antwort Inego