【问题标题】:Why my Kedro logging file keeps empty? Am I missing any step?为什么我的 Kedro 日志文件一直为空?我错过了任何步骤吗?
【发布时间】:2020-10-16 16:53:21
【问题描述】:

我正在使用 Kedro,但我无法使用我的日志文件。我关注the tutorial。日志文件已创建,但仍为空。

已完成的步骤:

  1. 配置的日志记录
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)
  1. 使用日志记录(在我的 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


【解决方案1】:

好的,问题解决了!它缺少 logging.yml 文件上的记录器定义!谢谢大家的支持!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 2020-11-10
    • 1970-01-01
    • 2013-09-08
    • 2021-11-11
    相关资源
    最近更新 更多