【发布时间】:2015-12-14 22:46:45
【问题描述】:
我有一个包含多个模块的项目,我想登录到同一个位置。我已经设置了一个特定的模块,比如log.py,我在其中指定了格式规则和我希望写入日志的位置。
到目前为止,我一直将在log.py 中创建的记录器导入需要使用它的模块中,并从那里调用它们,如python logging howto 中指定的那样
现在我想在我导入它的每个模块中更改记录器的名称,以便能够分辨出特定消息来自哪个模块。
最好的方法是什么?我应该将我的记录器子类化并使用模块的__name__ 重新定义记录器的名称吗?有更好的方法吗?
这是我的记录器定义的一个元素:
logger = logging.getLogger('main_logger')
logger.setLevel(logging.DEBUG)
以下是我如何使用它的示例:
from log_behavior import logger as log
[....]
log.info('mymessage')
【问题讨论】: