您的位置:首页 > 编程语言 > Python开发

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

2014-07-23 16:51 344 查看
参考/article/7085619.html

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: