Python 为什么我的Kedro日志文件保持为空?我是否遗漏了任何一步?
我正在使用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是否位
有什么建议吗?好的,问题解决了!logging.yml文件中缺少记录器定义!谢谢你们的支持 这可能是因为位置
'logs/mypipeline.log'
与您的run.py
相关,所以您可能试图在错误的位置查找日志?您能检查一下src/
下是否有任何日志目录吗?classProjectContext
是否位于与'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")