nginx + python app - 如何启用错误记录/堆栈跟踪

时间:2014-06-22 15:24:47

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

我在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'),但没有帮助。

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

1 个答案:

答案 0 :(得分:1)

Nginx将捕获应用程序的控制台输出,但您必须使应用程序从异常中恢复。否则,您只能从Nginx获得500或400个错误。

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