【发布时间】:2015-10-14 02:12:27
【问题描述】:
在创建库函数时,我一直在遵循(我相信)WRT 记录的正确做法。我执行以下操作以在我的库的给定函数中创建子记录器:
my_lib.py
import logging
def my_func():
log = logging.getLogger('my_lib.my_func')
log.debug("You've just called my_lib.my_func!")
在我的主程序中,我从项目的库中“免费”获得了一个记录器。这个项目记录器已经设置了处理程序和格式化程序。输出格式很漂亮,是该项目的首选日志记录方式。
默认情况下,my_lib 的 loggers 继承了 main (logging.getLogger('')) logger 的日志级别 (logging.INFO),因此在程序运行时默认看不到 log.debug() 消息。
如果我想从我的库中查看日志消息,我可以在我的主程序中像这样配置 my_lib.my_func 记录器:
logging.getLogger("my_lib.my_func").level = logging.DEBUG
这可行,但是消息的格式与项目记录器处理时的格式不同。
在主程序中,有没有办法将日志消息从my_lib.my_func 记录器“链接”或转发到项目记录器,以利用项目记录器提供的格式?
【问题讨论】:
标签: python python-2.7 logging