Nach den Dokumenten und eine Tonne SO Antworten und dergleichen, "alles, was Sie tun müssen", um Logging über mehrere Module zu tun ist, setzen Sie den Logger in Ihrer Hauptdatei und dann logger = logging.getLogger(__name__)
.Logging-Level nicht auf andere Module
Aber das ist nicht wahr. Wenn Sie das tun, wird die Protokollierungsstufe nicht übertragen, so dass Sie eine zusätzliche Zeile in jeder Datei benötigen, die Sie haben logger.setLevel(...)
. Einfaches Beispiel:
test.py
import logging
from test2 import bla
logging.basicConfig()
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
def main():
logger.info('main info')
bla()
main()
test2.py
import logging
logger = logging.getLogger(__name__)
def bla():
logger.info('info')
logger.debug('debug')
Wenn ich laufen test.py
, nichts von test2.py
wird gedruckt.
Gibt es noch etwas, was man in der ersten Einrichtung tun muss, die ich vermisse?