我的 python 包中有一个函数,它返回一个记录器:
import logging
def get_logger(logger_name, log_level='DEBUG') :
"""Setup and return a logger."""
log = logging.getLogger(logger_name)
log.setLevel(log_level)
formatter = logging.Formatter('[%(levelname)s] %(message)s')
handler = logging.StreamHandler()
handler.setFormatter(formatter)
log.addHandler(handler)
return log
我在我的模块和子模块中使用这个记录器:
from tgtk.logger import get_logger
log = get_logger(__name__, 'DEBUG')
所以我可以通过
log.debug("Debug message")
log.info("Info message")
等等。到目前为止,这工作得很好,但今天我遇到了一个奇怪的问题:在一台机器上,根本没有输出。无论log.xxx
设置什么级别,都只是被“忽略”。过去我遇到过一些类似的问题,我记得在我重命名记录器后它以某种方式重新开始工作,但这一次它没有帮助。
是否有任何缓存或发生了什么?脚本完全相同(通过 SVN 同步)。