Python日志记录,“KeyError:context”

2024-06-26 14:47:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为一个模块设置子日志,我们将其称为child_module,位于另一个parent_module内。在

parent_module中,我这样调用child_module

class ParentModule(object):
    def __init__(self,
                 logger,
                 child_module=None):
        self.logger = logger

        # set-up the child module
        self.child_module = child_module

        if child_module is None:
            self.child_module = ChildModule(
                logger=logging.getLogger('log.parent_module.child_module')
            )

if __name__ == '__main__':

    # Configure logger:
    logger = logging.getLogger('log.parent_module')
    logger.setLevel(5)

    formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
    handler = logging.StreamHandler(sys.stdout)
    handler.setFormatter(formatter)
    logger.addHandler(handler)

    p = ParentModule(logger=logger)

其中log是根日志基。在子模块中,除了我们将日志定义为log.child_module之外,main函数是相同的。 运行此程序时,我得到以下回溯:

^{pr2}$

我找不到日志模块中应该存在的“context”变量的任何信息,而且我自己也没有定义任何自定义的日志变量。在


Tags: 模块selfnonelogchildifmainformatter