相关疑难解决方法(0)

python 日志记录模块的操作系统依赖行为

在这个问题和答案之后,我正在寻找以下问题的解决方案:

我有一个 Python 程序,应该可以在 Windows 和 Linux 上运行。

我的 python 进程生成一个子进程,它们都应该有一个文件记录器。我希望他们每个人都登录到自己的日志文件中。

流程创建:

import multiprocessing
multiprocessing.Process(target=my_target, args=(my_args,))
Run Code Online (Sandbox Code Playgroud)

日志创建:

import logging
logger = logging.getLogger()
fh = logging.FileHandler(log_file, mode="a+")
logger.addHandler(fh)
Run Code Online (Sandbox Code Playgroud)

在 Windows 中它工作得很好,但在 Linux 中我将子输出写入子日志和父日志中。

处理这种情况的最佳方法是什么?

python logging os-dependent multiprocessing

5
推荐指数
1
解决办法
371
查看次数

父进程和子进程都可以访问记录器吗?

在python中,如果在父进程中配置了记录器,那么子进程也会获取该记录器吗?更清楚地说,在我的应用程序中,我通过向父进程添加logger = logging.getlogger()处理程序来配置根记录器。现在,当一个子进程被分叉时,它就会

logger = logging.getlogger()
logger.info("dfsdf")
Run Code Online (Sandbox Code Playgroud)

然后所有日志都会根据父级的根记录器进行处理。我没有为孩子配置根记录器。这怎么可能?它们是两个不同的进程,那么它们怎么能有相同的记录器呢?

python logging

4
推荐指数
1
解决办法
3539
查看次数

标签 统计

logging ×2

python ×2

multiprocessing ×1

os-dependent ×1