【问题标题】:Using Flask and native Python logging?使用 Flask 和原生 Python 日志记录?
【发布时间】:2015-07-28 19:06:30
【问题描述】:

Flask 日志记录(即 app.logger.info(...) 等)的问题在于子模块不使用它,所以在我看来这是全局配置应用程序日志记录的唯一方法是通过底层的python日志机制:例如,

logging.config.fileConfig('config/logging.conf')

但这并没有配置 Flask 的默认处理程序,例如,没有配置 HTTP 日志记录。所以我得到混合日志:

2015-07-28 14:57:47,320 [main.py][INFO] Starting...           # Python log
[2015-07-28 14:58:49] "GET /demo HTTP/1.1" 200 956 0.318825   # Flask log

任何人都可以建议通过配置文件全局配置日志记录的标准做法(即,以便我可以轻松配置单个包)。

另外,我似乎无法将 HTTP 日志记录(GET 等)删除到 stderr(我认为它来自 werkzeug);设置 logging.getLogger('werkzeug').setLevel() 只会影响与 HTTP 日志无关的 werkzeug 日志。

谢谢。

【问题讨论】:

    标签: python flask werkzeug


    【解决方案1】:

    我很确定 Flask 文档中有一篇关于此的文章:https://flask.palletsprojects.com/en/1.1.x/logging/#other-libraries

    它基本上建议将其他库的处理程序添加到 Flask 的根目录。这是他们给出的例子:

    from flask.logging import default_handler
    
    root = logging.getLogger()
    root.addHandler(default_handler)
    root.addHandler(mail_handler)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-17
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多