如何将日志输出到多个进程的控制台?
示例:
但输出结果不正确:
import multiprocessing, logging, multiprocessing_logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger()
multiprocessing_logging.install_mp_handler(logger)
def worker():
while True:
logger.info("This is logging for TEST1")
def worker2():
while True:
logger.info("This is logging for TEST2")
if __name__ == '__main__':
p1 = multiprocessing.Process(target=worker)
p1.daemon = True
p1.start()
p2 = multiprocessing.Process(target=worker2)
p2.daemon = True
p2.start()
p1.join()
p2.join()
但输出结果不正确:
INFO:root:This is logging for TEST1
INFO:root:This is logging for TEST2
IINFO:root:This is logging for TEST1
NFO:root:This is logging for TEST2
INFO:root:This is logging for TEST1
INFO:root:This is logging for TEST2
INFO:root:This is logging for TEST1
IINFO:root:This is logging for TEST2
NFO:root:This is logging for TEST1
IINFO:root:This is logging for TEST2
NFO:root:This is logging for TEST1
我尝试使用multiprocessing-logging库,但它并没有起到帮助作用。
multiprocessing-logging
看起来应该可以解决您的问题 - 您能否提供一个 [MCVE] 来展示在使用它时发生了什么问题? - Florian Bruckermultiprocessing-logging
提交错误报告。 - Florian Bruckermultiprocessing-logging
的代码,这样我们可以帮助您找到问题所在。 - Florian Brucker