【问题标题】:How to include the function name into logging如何将函数名称包含在日志记录中
【发布时间】:2017-12-20 05:50:51
【问题描述】:

运行下面的代码会打印出两条消息:

[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()

【问题讨论】:

标签: python logging


【解决方案1】:

只需使用%(funcName)s,如here 所述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 2019-05-14
    • 2012-03-12
    • 1970-01-01
    相关资源
    最近更新 更多