我需要创建一个可以在我的python包中使用的单个记录器,但是一些函数实现了多处理。我希望所有这些函数都像其他所有函数一样写入同一个日志文件。
我知道在Python 3.2+中有一种内置方法可以做到这一点,但我也需要将端口备份到Python 2.7.x.
是否有任何代码适用于多处理和非多处理功能以进行记录?
通常情况下,我会创建一个日志:
module = sys.modules['__main__'].__file__
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG,
format='%(name)s (%(levelname)s): %(message)s')
log = logging.getLogger(module)
fh = RotatingFileHandler(arguments.o, mode='a', maxBytes=2*1024*1024,
backupCount=2, encoding=None, delay=0)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - % (message)s')
fh.setFormatter(formatter)
fh.setLevel(logging.DEBUG)
log.addHandler(fh)
然后输出将写入单个文件。它工作得很好,但是当我实现它时,这段代码将创建多个文件,这是我不想要的。
有什么想法吗?
谢谢