[Python的LogRecord
中的logging module
的LogRecord定义为:
logging module
例如,当有人执行class LogRecord(object):
"""
A LogRecord instance represents an event being logged.
LogRecord instances are created every time something is logged. They
contain all the information pertinent to the event being logged. The
main information passed in is in msg and args, which are combined
using str(msg) % args to create the message field of the record. The
record also includes information such as when the record was created,
the source line where the logging call was made, and any exception
information to be logged.
"""
def __init__(self, name, level, pathname, lineno,
msg, args, exc_info, func=None, sinfo=None, **kwargs):
"""
Initialize a logging record with interesting information.
"""
ct = time.time()
self.name = name
self.msg = msg
# more stuff below
操作时创建此LogRecord
,例如:
logging
在上面的记录器调用中,可以将变量推断为:
def my_func():
logging.info('Hello %s', 'Person')
return 1
自省如何从我的name = 'root' # using the root logger since calling `logging.`
level = 'INFO' # or, 20
msg = 'Hello %s'
args = ('Person',)
通话中收集其他项目?例如:
例如,在您的答案中,您可以显示一个对函数调用进行自省以收集上述信息的示例吗?
几乎所有这些都发生在logging
中。它检查当前帧以获取此信息。