gpt4 book ai didi

python - 如何将日志消息从多处理模块路由到文件?

转载 作者:太空狗 更新时间:2023-10-30 02:49:05 24 4
gpt4 key购买 nike

Python docs I found that logging messages在使用多处理模块生成不同进程的 python 脚本中是可能的。

import multiprocessing
import logging

logger = multiprocessing.log_to_stderr()
logger.setLevel(logging.INFO)

所以 logger.warning('doomed') 会给我消息 'doomed',但只发送到控制台。

如何将日志消息转换为文件?

最佳答案

多进程日志记录不是微不足道的,但也不难。你需要 logging模块。

重点是要有一个监听进程,它会通过multiprocessing queues接收所有的日志记录。 .然后,此监听器进程将使用您决定使用的任何内部处理程序来处理这些记录。在您的情况下,您可能希望使用 FileHandler或类似的。

如果您使用的是 Python 3.2 或更高版本,您将同时拥有 QueueHandlerQueueListener在标准库中。 Quelistener 就是我之前说的监听进程(是的,它确实有一个 start() 方法)。

如果您使用的是以前的 Python 版本,请查看此 link这基本上展示了如何重写它们(以及如何使用它们)。


如果您需要官方文档的引用,请查看 Logging to a single file from multiple processes来自 Logging Cookbook 的 session .

您可能还对 this answer 感兴趣来自问题How should I log while using multiprocessing in Python?

关于python - 如何将日志消息从多处理模块路由到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9822926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com