How to record detailed call stack logs in Python
This example describes how to record detailed call stack logs in Python. Share it with you for your reference. The specific implementation method is as follows:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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 () |
Output:
Aaa1.py ( : 27)-> aaa1.py (main: 24)-> aaa1.py (bar: 21)-> aaa1.py (foo: 18)-> hello world
I hope this article will help you with Python programming.