2017-08-04 6 views
0

私はApache(mod_wsgi)でウェブサイトを運営するフラスコアプリを持っています。しかし、クラッシュし続け、Apacheのエラーログには何も記録されません。 ここにはhttp://flask.pocoo.org/docs/0.12/errorhandling/#logging-to-a-fileのドキュメントがありますが、どこにコードを書いていいのかわかりません。 これは偶然にもアプリケーションコードです。それは呼び出しているメソッド(セキュリティで保護されたサーバーからのデータが必要です)にいくつかの権限の問題があり、クラッシュしていますが、それは重要なことではありません。フラスコ初心者ロギング

from model import InputForm 
from flask import Flask, render_template, request 
from compute import compute 

app = Flask(__name__) 

@app.route('/', methods=['GET', 'POST']) 
def index(): 
    form = InputForm(request.form) 
    if request.method == 'POST' and form.validate(): 
      result = compute(form.A.data, form.B.data) 
    else: 
     result = None 

    return render_template('view.html', form=form, result=result) 

if __name__ == '__main__': 
    app.run(debug=True) 

(インデントの問題を無視する)

答えて

0

Apacheは標準出力/標準エラー出力には何もフラスコのログを記録します。問題は、Flask自体が内部アプリケーションエラーのときに何もログに記録していないことです。スタートのために、一時的に追加します。app

app.debug = True 

は、最初の場所に作成されます。 app.run()がmod_wsgiで使われていないので、そこに必要です。これによりブラウザにエラーが表示されます。

次にFlask設定を見つけて、アプリケーションエラーを常にstdout/stderrに記録するように指示します。それを解決するときは、app.debugの設定を削除することを確認してください。