到目前为止,我一直在使用它来获取正在调用的函数的名称:
functionId = sys._getframe(1).f_code.co_name
但是,如果我使用一个类,事情会变得有点复杂。例如,我有一个类,它应该返回一个包含调用者函数名的消息:
def myFunction():
# Set the footprint at the start of each function.
debug = verbose.debugMessage(verbosityState)
debug.setFunctionFootprint()
# The rest of the function.
debug.verbosity(1, "This is just a plain info message.")
如您所见,我正在创建调试类的一个实例,我要做的第一件事是,向类中传递一个变量。但是,为了激活函数名提取过程,我需要为此调用一个方法,这个位:debug.setFunctionFootprint()
然后消息中会有myFunction
。但是,有没有更优雅的方法呢?不需要调用方法?你知道吗
另外,另一个问题是,一旦我创建了debug
实例,就设置了函数名,为了在另一个函数中重用它,我需要再次调用该方法。你知道吗
Python的内置日志模块将提供解决此问题所需的功能。你知道吗
可以控制详细级别,以便显示“info”消息,但只有通过
level=logging.INFO
参数满足某个详细级别时,才会显示“debug”消息。详情请参阅Official Python Logging Documentation。你知道吗谢谢你的回答和帮助。你知道吗
相关问题 更多 >
编程相关推荐