首页 > 代码库 > python日志功能实现-自动获取程序运行时信息

python日志功能实现-自动获取程序运行时信息

通过pythoninspect模块,我们可以获取程序的运行时栈。一个python的运行时栈是一个六元组:(frame对象文件名当前行号函数名保存相关源代码行的列表当前行在源代码列表中的位置)。

栈中第一个元素代表当前执行的位置信息,最后一个表示最外层的执行信息。

如:

 1 import inspect
 2 
 3 class Foo:
 4     def __init__(self):
 5         pass
 6     def say(self):
 7         print inspect.stack()[1][1]
 8         print inspect.stack()[1][2]
 9         print inspect.stack()[1][3]
10 
11     def hello(self):
12         self.say()
13 
14 f = Foo()
15 f.hello()

输出信息为:

test.py

11

hello