如何重定向CProfile Stats.print_Stats()输出到日志中?

2024-09-29 19:34:00 发布

您现在位置:Python中文网/ 问答频道 /正文

Stats.print_Stats()默认情况下,将输出打印为std_输出,或者您可以为统计数据提供一个流。如何将登录应用于此流

我有一个文件的日志处理程序:

log = logging.getLogger('log1')
debughandler = logging.FileHandler("debug." + LogFilename, 'w', 'utf-8')
debughandler.setFormatter(formatter)
debughandler.setLevel(logging.DEBUG)
log.addHandler(debughandler)

现在我只想将Stats的输出重定向到这个日志处理程序中

谢谢


Tags: 文件debuglog处理程序loggingstats情况统计数据
1条回答
网友
1楼 · 发布于 2024-09-29 19:34:00

使用io.StringIO()作为流来保存结果:

s = io.StringIO()
pstat = pstats.Stats('restatslex', stream=s)
pstat.sort_stats('time').print_stats(20)
log.info(s.getvalue())

然后,统计信息就会出现在日志中

相关问题 更多 >

    热门问题