相关疑难解决方法(0)

通过uWSGI时,Flask debug = True不起作用

我打电话给app.run(debug=True)我的烧瓶文件.

我用uWSGI和nginx部署了它(我遵循了这些说明)

uwsgi -s /tmp/uwsgi.sock -w flask_file_name:app -H /path/to/virtual/env --chmod-socket 666
Run Code Online (Sandbox Code Playgroud)

但是当我收到错误时,我没有在浏览器或uWSGI日志中获得任何调试信息.

有任何想法吗?

flask_file_name.py:

from flask import Flask, make_response, Response, jsonify
import json

app = Flask(__name__)
app.debug = True

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == '__main__':
    app.run()
Run Code Online (Sandbox Code Playgroud)

python wsgi flask

38
推荐指数
3
解决办法
2万
查看次数

使用nginx,uwsgi,flask进行简单的应用程序记录/调试?

我不打算打开危险的调试控制台,但是我的应用程序出现了500错误,并且似乎没有为我编写任何输出以进行更深入的调查.

我在邮件列表上看到了这个交换,这使我进入了关于日志记录错误的页面.

但是,我仍然觉得这很令人困惑,并且有几个问题:

(1)下面的内容应该在哪个文件中?

ADMINS = ['yourname@example.com']
if not app.debug:
    import logging
    from logging.handlers import SMTPHandler
    mail_handler = SMTPHandler('127.0.0.1',
                               'server-error@example.com',
                               ADMINS, 'YourApplication Failed')
    mail_handler.setLevel(logging.ERROR)
    app.logger.addHandler(mail_handler)
Run Code Online (Sandbox Code Playgroud)

...假设大型应用程序的"越来越大"的文件模式? __init__.py? config.py? run.py?

(2)我被那里的选择所震撼,无法分辨我应该使用哪些.我应该打开哪些记录器,使用什么设置来复制本地python服务器调试,当我运行run.py时,我得到stdout?我发现默认的本地输出流非常有用,比页面中的交互式调试器更有用.有没有人有一个模式,他们可以分享设置复制这个与nginx部署,输出到日志?

(3)有什么我需要改变的,不是在烧瓶级别,而是在nginx中,比如在我的/etc/nginx/sites-available/appname文件中,以启用日志记录?

UPDATE

具体来说,我正在寻找信息,就像我在本地运行python时获得的信息,例如,为什么包没有工作,或者我的语法错误可能是什么,或者什么变量不存在:

$ 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) …
Run Code Online (Sandbox Code Playgroud)

python logging nginx flask uwsgi

26
推荐指数
2
解决办法
1万
查看次数

标签 统计

flask ×2

python ×2

logging ×1

nginx ×1

uwsgi ×1

wsgi ×1