Protokollierung mit Multiprocessing

Ich habe folgendeslogger Klasse (als logger.py):

import logging, logging.handlers
import config

log = logging.getLogger('myLog')

def start():
    "Function sets up the logging environment."
    log.setLevel(logging.DEBUG)
    formatter = logging.Formatter(fmt='%(asctime)s [%(levelname)s] %(message)s', datefmt='%d-%m-%y %H:%M:%S')

    if config.logfile_enable:
        filehandler = logging.handlers.RotatingFileHandler(config.logfile_name, maxBytes=config.logfile_maxsize,backupCount=config.logfile_backupCount)
        filehandler.setLevel(logging.DEBUG)
        filehandler.setFormatter(formatter)
        log.addHandler(filehandler)

    console = logging.StreamHandler()
    console.setLevel(logging.DEBUG)
    console.setFormatter(logging.Formatter('[%(levelname)s] %(message)s')) # nicer format for console
    log.addHandler(console)

    # Levels are: debug, info, warning, error, critical.
    log.debug("Started logging to %s [maxBytes: %d, backupCount: %d]" % (config.logfile_name, config.logfile_maxsize, config.logfile_backupCount))

def stop():
    "Function closes and cleans up the logging environment."
    logging.shutdown()

Zum loggen starte ichlogger.start() einmal und dann importierenfrom logger import log bei jeder Projektdatei. Dann benutze ich einfachlog.debug() undlog.error() wenn gebraucht. Es funktioniert überall im Skript (verschiedene Klassen, Funktionen und Dateien), aber nicht bei verschiedenen Prozessen, die in der Multiprocessing-Klasse ausgeführt werden.

Ich erhalte folgenden Fehler:No handlers could be found for logger "myLog".

Was kann ich machen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage