我正在使用python 2.7进行多处理。我希望每个子进程都记录到自己的文件(filename = procname.pid.log)而不是标准日志输出。到目前为止,我已经能够通过在每个子进程start()方法中创建一个logger和FileHandler()来创建每个日志文件,但是我无法阻止日志消息也显示在父日志输出中。我知道父环境是继承的,但是如何在子进程中将其关闭?
我的子进程被实现为从multiprocessing.Process派生的类。我已经避免使用logging.basicConfig,因为我听说它只能执行一次。我见过这段代码:
logger = logging.getLogger(__name__)
logger.propogate = False
但它没有效果。
我一点也不清楚日志记录是如何传播的。我想当我调用getLogger时,我创建了一个名为root.__module__
的新记录器,但我不知道如何让root用户将printint停在屏幕上。
答案 0 :(得分:0)