zoukankan      html  css  js  c++  java
  • 如何在Flask的构架中传递logger给子模块

    Logger的传递

    作为一个新手,如何将主函数的logger传入子模块是一件棘手的事情。某些情况下可以直接将logger作为参数传入子模块的构造函数中,但倘若子模块与主模块存在相互依赖的关系则容易出现互相初始化的死循环。尤其是在还不熟悉Flask的时候,如果将Flask的app.logger传给蓝图或其他子模块则会出现上下文context报错。一开始我使用context来解决过这个问题。在实在忍受不了这种格式之后,我去查了一下Flask对于logger的定义文档,里面我终于发现了flask的logger的名字。
    于是,在Flask的主函数中设置过logger之后便不再需要将app.logger作为参数传入其他子模块的初始化中,而是直接在其他子模块中调用:

    import logging
    self.logger = logging.getLogger('flask.app')
    

    就足够了。
    对于Logger始终觉得自己学习的还不足,虽然目前满足了项目的需求,但是却还不太清楚自己到底设置过什么,logger传递逻辑是什么等等等等。



    作者:萧瑟空间
    链接:https://www.jianshu.com/p/624cceb93571
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    VUE.js入门学习(2)-基础精讲
    VUE中的MVVM模式
    VUE.js入门学习(1)-起步
    Vuex 是什么
    Proxy
    VUE常见的语法
    ES6的一些语法
    Element
    Mock.js
    第一阶段:Python开发基础 day14 三元表达式 生成器 匿名函数
  • 原文地址:https://www.cnblogs.com/ExMan/p/10195069.html
Copyright © 2011-2022 走看看