运行下面的代码会打印出两条消息:
[INFO] 2017-07-14 21:42:07, printed by func A
[INFO] 2017-07-14 21:42:07, printed by func B
我们知道logging
模块的formatter
方法可以用来自定义消息的格式。我们可以将其配置为使用当前时间或详细级别或日期等开始记录消息。我想知道是否有一种方法可以包含创建日志的函数名称。因此,每次使用 log.info()
方法时,都会有一个函数名称,甚至可能还有一个代码行号。
import logging
formatter = logging.Formatter("[%(levelname)s] %(asctime)s, %(message)s", "%Y-%m-%d %H:%M:%S")
handler = logging.StreamHandler()
handler.setFormatter(formatter)
log = logging.getLogger(__name__)
log.addHandler(handler)
log.setLevel(logging.DEBUG)
def funct_A():
log.info('printed by func A')
def funct_B():
log.info('printed by func B')
funct_A()
funct_B()
最佳答案
只需使用 %(funcName)s
,如记录 here .
关于python - 如何将函数名称包含到日志记录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45114636/