相关疑难解决方法(0)

python 多处理日志记录,根记录器在 Windows 中不同

我尝试使用多处理进行日志记录,发现在 Windows 下,我会在子进程中获得不同的根记录器,但在 Linux 下没问题。

测试代码:

主要.py:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import logging
import multiprocessing
from mymod import func

def m_func():
    server = multiprocessing.Process(target=func, args=())
    server.start()

logger = logging.getLogger()
#print 'in global main: ', logger

if __name__ == '__main__':
    print 'in main: ', logger
    m_func()
Run Code Online (Sandbox Code Playgroud)

mymod.py:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import logging

logger = logging.getLogger()
# print 'in global func: ', logger

def func():
    print 'in func: ', logger
Run Code Online (Sandbox Code Playgroud)

在Linux下,结果是:

in main:  <logging.RootLogger object …
Run Code Online (Sandbox Code Playgroud)

python windows logging multiprocessing

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

标签 统计

logging ×1

multiprocessing ×1

python ×1

windows ×1