【问题标题】:How can I get UWSGI to log Flask log messages at the correct level?如何让 UWSGI 以正确的级别记录 Flask 日志消息?
【发布时间】:2019-05-07 15:27:11
【问题描述】:

我有一个在 systemd 下运行的 uwsgi 服务。它似乎将从托管的 Flask 应用程序接收到的所有内容记录为INFO 级别,而不是它应该记录的任何级别。

在我的 Python 代码中,我有一个名为 app 的 Flask 应用程序。我打电话:

app.logger.error('TESTING LOGGING')

当我使用journalctl -u uwsgi -p err 检查我的日志时,我没有看到我记录的消息。当我使用journalctl -u uwsgi -p info 时,我会这样做。

我没有为 uwsgi 使用 systemd_logger 插件,但它看起来不能解决这个问题,因为它也总是在INFO 级别记录:https://github.com/unbit/uwsgi/blob/3149df02ed443131c54ea6afb29fcbb0ed4d1139/plugins/systemd_logger/systemd_logger.c#L13

【问题讨论】:

    标签: flask uwsgi systemd-journald


    【解决方案1】:

    UWSGI 不会将这些消息记录到正确的级别,但我可以通过使用 Python systemd 包直接在 Flask 中完成。

    import logging
    from systemd import journal
    
    logger = logging.getLogger(__name__)
    journaldHandler = journal.JournalHandler()
    logger.addHandler(journaldHandler)
    
    logger.error('TESTING LOGGING')
    

    https://pypi.org/project/systemd/

    【讨论】:

      猜你喜欢
      • 2016-02-20
      • 1970-01-01
      • 2012-05-24
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 2013-11-27
      • 2013-08-06
      相关资源
      最近更新 更多