【问题标题】:nginx + python app -- how to enable error logging/stack tracenginx + python app -- 如何启用错误记录/堆栈跟踪
【发布时间】:2014-08-12 17:07:04
【问题描述】:

我有一个在 nginx + uWSGI 上运行的 Flask 应用程序。

在我的本地服务器(非 nginx)上,我得到了一个很好的堆栈跟踪 + 异常错误报告。

像这样:

$ python run.py 
Traceback (most recent call last):
  File "run.py", line 1, in <module>
    from myappname import app
  File "/home/me/myappname/myappname/__init__.py", line 27, in <module>
    file_handler.setLevel(logging.debug)
  File "/usr/lib/python2.7/logging/__init__.py", line 710, in setLevel
    self.level = _checkLevel(level)
  File "/usr/lib/python2.7/logging/__init__.py", line 190, in _checkLevel
    raise TypeError("Level not an integer or a valid string: %r" % level)

在 nginx 上,几乎没有任何日志记录(/var/log/nginx/error.log)。

This post 建议将app.logger.exception('Failed') 添加到我的脚本中,但没有帮助。

如何启用此类日志记录以进行调试?

【问题讨论】:

    标签: debugging python-3.x nginx flask uwsgi


    【解决方案1】:

    Nginx 将捕获您应用的控制台输出,但您必须让应用从异常中恢复。否则,您只会从 Nginx 收到 500 或 400 个错误。

    1. 尝试在 Nginx 上运行该应用,直到它看起来稳定为止。
    2. 使用logging 模块将应用状态信息捕获到您自己的日志文件中。从长远来看,这种策略会很有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-29
      • 2021-02-07
      • 2011-04-06
      • 2014-11-01
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多