[Python]记录详细调用堆栈的日志

python

参考http://www.cnblogs.com/tuzkee/p/3243110.html

python;gutter:true;">import sys

import os

def detailtrace(info):

retStr = ""

curindex=0

f = sys._getframe()

f = f.f_back # first frame is detailtrace, ignore it

while hasattr(f, "f_code"):

co = f.f_code

retStr = "%s(%s:%s)->"%(os.path.basename(co.co_filename),

co.co_name,

f.f_lineno) + retStr

f = f.f_back

print retStr+info

def foo():

detailtrace("hello world")

def bar():

foo()

def main():

bar()

if __name__ == "__main__":

main()

 输出:

aaa1.py(<module>:27)->aaa1.py(main:24)->aaa1.py(bar:21)->aaa1.py(foo:18)->hello world

以上是 [Python]记录详细调用堆栈的日志 的全部内容, 来源链接: utcz.com/z/387935.html

回到顶部