【发布时间】:2020-10-16 16:53:21
【问题描述】:
我正在使用 Kedro,但我无法使用我的日志文件。我关注the tutorial。日志文件已创建,但仍为空。
已完成的步骤:
- 配置的日志记录
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)
- 使用日志记录(在我的 nodes.py 文件中)
import logging
log = logging.getLogger(__name__)
log.warning("Issue warning")
log.info("Send information")
在运行管道后,日志文件被创建但保持为空。
有什么建议吗?
【问题讨论】:
-
这可能是因为
'logs/mypipeline.log'的位置相对于您的run.py,所以您可能试图在错误的位置查找日志?请问src/<your_python_package>下是否有logs目录? -
类
ProjectContext是否与“nodes.py”在不同的文件中? -
@LimH。 ,谢谢,但文件是在正确的位置创建的。我只是没有收到消息。
-
@dragon2fly,是的,根据教程,它位于我的应用程序的入口点(例如,src/
/run.py)。 -
好的,问题解决了!它缺少 logging.yml 文件上的记录器定义!谢谢大家的支持!
标签: python python-3.x logging kedro