为什么当前的sys._getframe(3)框架的功能在日志记录模块中?

时间:2019-05-30 08:26:04

标签: python-3.x logging traceback

在日志记录模块中,获取当前帧为何是sys._getframe(3)而不是sys._getframe(1)?

import sys

if hasattr(sys, '_getframe'):
    currentframe = lambda: sys._getframe(3)
else: #pragma: no cover
    def currentframe():
        """Return the frame object for the caller's stack frame."""
        try:
            raise Exception
        except Exception:
            return sys.exc_info()[2].tb_frame.f_back

0 个答案:

没有答案