很长一段时间以来,我一直在努力让这项工作顺利进行,但现在我真的是束手无策了。我已经尝试了在SO和flask文档中找到的所有东西,但仍然无法使用一个简单的错误日志来调试我的应用程序。下面是粘贴的代码-
# main.py
from flask import Flask
import logging
app = Flask(__name__)
file_handler = logging.FileHandler(filename='/tmp/election_error.log')
file_handler.setLevel(logging.WARNING)
app.logger.addHandler(file_handler)
@app.route('/')
def hello():
return "hello
#missing quotes to generate error
if __name__ == "__main__":
app.run()
#wsgi file
import sys
import logging
sys.path.insert(0, "/var/www/voting_app")
logging.basicConfig(stream=sys.stderr)
from main import app as application
# apache2 conf file
WSGIDaemonProcess voting_app threads=5
WSGIScriptAlias /election /var/www/voting_app/voting_app.wsgi
LogLevel info
<Directory /var/www/voting_app>
WSGIProcessGroup voting_app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
请告诉我哪里出错了。非常感谢。
您创建的特定错误(语法错误)会导致WSGI脚本文件在mod_WSGI中加载失败。此错误将在Apache错误日志文件中结束,而不是使用日志模块设置的日志文件。您查看过Apache错误日志文件吗?
对于请求执行期间引发的异常,Flask默认情况下会将其转换为500个错误页,否则将禁止显示详细信息。您需要设置Flask,以其他方式通过以下方式发送或记录此类运行时异常:
http://flask.pocoo.org/docs/errorhandling/
如果要在返回到浏览器的500页中显示运行时异常以进行开发,则需要启用烧瓶调试模式。这是通过将app.debug设置为True来完成的:
http://flask.pocoo.org/docs/config/?highlight=app%20debug
不应在面向用户的生产系统上启用调试模式。
您需要生成一个运行时异常,而不是编译时异常。缺少引号是编译时异常,您的日志代码将永远不会执行。
只是提出一个例外:
相关问题 更多 >
编程相关推荐