Python记录器并不总是记录

时间:2018-05-28 13:27:34

标签: python python-3.x logging

我的python脚本登录时遇到问题。我使用Pool多次运行相同的脚本(进行多次模拟)以提高性能。在我的脚本中,我使用带有MemoryHandler的记录器,定义如下:

capacity=5000000000
filehandler_name = SOME_NAME
logger = logging.getLogger(logger_name)
logger.setLevel(logging.DEBUG)

filehandler = logging.FileHandler(filehandler_name)
memoryhandler = logging.handlers.MemoryHandler(
                capacity=capacity,
                flushLevel=logging.ERROR,
                target=filehandler
                )

logger.addHandler(memoryhandler)

我使用logger.info(...)记录信息。但是,我注意到日志记录并不总是有效。当我检查不同的日志文件时(每个模拟我有一个日志静默),一些日志文件包含数据,其他日志文件为空。没有特定的模式是空的,哪些不是,通常它是随机发生的。我尝试了很多东西,但似乎我错过了一些东西。有没有人对为什么Python记录器可能无法始终正常工作有任何建议?

1 个答案:

答案 0 :(得分:0)

如果没有代码片段,我猜它是由多处理引起的,你提到:

  

使用Pool提高性能..

您可以在多处理过程中查看官方documentation如何使用日志记录模块。