我使用Python Celery,并使用memdump((打印转储。然而,我试图将内存转储到一个变量中,以便稍后打印,甚至在日志记录中打印。这可能吗?
谢谢!
是的,如果您查看celery.utils.debug.memdump
的源代码,它需要一个file
参数。这个file
参数几乎是任何可以作为file
参数传递给print
的数据类型,包括我们方便的朋友io.StringIO
:
from celery.utils.debug import memdump
from io import StringIO
import logging
log = logging.getLogger(__name__)
buffer = StringIO()
memdump(file=buffer)
log.info('memory dump: %s', buffer.getvalue())