Python 为什么我的Kedro日志文件保持为空?我是否遗漏了任何一步?

Python 为什么我的Kedro日志文件保持为空?我是否遗漏了任何一步?,python,python-3.x,logging,kedro,Python,Python 3.x,Logging,Kedro,我正在使用Kedro,但无法使用我的日志文件。我跟在后面。日志文件已创建,但仍然为空 完成的步骤: 配置日志记录 使用日志记录(在my nodes.py文件中) 运行管道后,将创建日志文件,但保持为空 有什么建议吗?好的,问题解决了!logging.yml文件中缺少记录器定义!谢谢你们的支持 这可能是因为位置'logs/mypipeline.log'与您的run.py相关,所以您可能试图在错误的位置查找日志?您能检查一下src/下是否有任何日志目录吗?classProjectContext是否位

我正在使用Kedro,但无法使用我的日志文件。我跟在后面。日志文件已创建,但仍然为空

完成的步骤:

  • 配置日志记录
  • 使用日志记录(在my nodes.py文件中)
  • 运行管道后,将创建日志文件,但保持为空


    有什么建议吗?

    好的,问题解决了!logging.yml文件中缺少记录器定义!谢谢你们的支持

    这可能是因为位置
    'logs/mypipeline.log'
    与您的
    run.py
    相关,所以您可能试图在错误的位置查找日志?您能检查一下
    src/
    下是否有任何日志目录吗?class
    ProjectContext
    是否位于与'nodes.py'不同的文件中?@LimH,谢谢,但文件创建在正确的位置。我只是没有收到消息。@dragon2fly,是的,根据教程,它位于我的应用程序的入口点(例如src//run.py)。好的,问题解决了!logging.yml文件中缺少记录器定义!谢谢你们的支持!
    class ProjectContext(KedroContext):
    
        def _setup_logging(self) -> None:
            log = logging.getLogger(__name__)
            handler = TimedRotatingFileHandler(filename='logs/mypipeline.log', when='d', interval=1)
            f_format = logging.Formatter('%(asctime)s %(levelname)s %(funcName)s %(lineno)d %(message)s ')
            handler.setFormatter(f_format)
            log.addHandler(handler)
            log.setLevel(logging.DEBUG)
    
    import logging 
    log = logging.getLogger(__name__)  
    log.warning("Issue warning")  
    log.info("Send information")