gpt4 book ai didi

python - 使用多处理为每个进程单独记录?

转载 作者:行者123 更新时间:2023-12-05 07:59:59 25 4
gpt4 key购买 nike

我在 python 2.7 中使用多处理。我希望每个子进程都记录到自己的文件(文件名 = procname.pid.log)而不是标准日志输出。到目前为止,我已经能够通过在每个子进程的 start() 方法中创建一个记录器和 FileHandler() 来创建每个日志文件,但是我无法阻止日志消息也显示在父日志输出中。我知道父环境是继承的,但是我如何在子进程中关闭它?

我的子进程是作为从 multiprocessing.Process 派生的类实现的。我避免使用 logging.basicConfig,因为我听说它只能执行一次。我已经看到建议的代码:

logger = logging.getLogger(__name__)
logger.propogate = False

但是没有效果。

我完全不清楚日志记录是如何传播的。我认为当我调用 getLogger 时,我创建了一个名为 root.__module__ 的新记录器,但我不知道如何让 root 停止 printint 到屏幕.

最佳答案

这是在 POSIX 上吗? 进程创建后配置您的日志记录。那么子进程不应该从父进程继承任何东西。

顺便说一句,注意正确的拼写:propagate

另请参阅 this post获取更多信息。

关于python - 使用多处理为每个进程单独记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19797209/

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