본문 바로가기
파이썬

파이썬 Flask가 콘솔에 인쇄되지 않습니다.

by º기록 2020. 10. 19.
반응형

나는 플라스크를 처음 사용하고 서버 측 코드를 디버그하기 위해 인쇄 정보를 추가하려고합니다. debug = True로 플라스크 앱을 시작할 때 콘솔에 정보를 인쇄 할 수 없습니다.

대신 로깅을 사용하려고했지만 성공하지 못했습니다. 그래서 콘솔로 플라스크 프로그램을 디버그하는 방법.

@app.route('/getJSONResult', methods=['GET', 'POST'])
def getJSONResult():

    if request.method == 'POST':
        uut = request.form['uut']
        notes = request.form['notes']
        temperature = request.form['temperature']

        logging.info("enter getJSONReuslt")
        print('enter getJSONReuslt')
        filter_by_query = {k: v for k, v in {
            'uut': uut, 'notes': notes, 'temperature': temperature}.items() if v != ""}
        s = session.query(UUT_TEST_INFO).filter_by(**filter_by_query).first()
        return jsonify(s.serialize)

if __name__ == '__main__':
    app.secret_key = ''.join(random.choice(
        string.ascii_uppercase + string.digits) for x in range(32))
    app.debug = True
    app.run(host='127.0.0.1', port=5000)


> 127.0.0.1 - - [07/Jun/2017 15:20:48] "GET /qyer HTTP/1.1" 200 -
> 127.0.0.1 - - [07/Jun/2017 15:20:48] "GET /static/css/bootstrap.min.css HTTP/1.1" 200 -
> 127.0.0.1 - - [07/Jun/2017 15:20:48] "GET /static/js/bootstrap.min.js HTTP/1.1" 200 -
> 127.0.0.1 - - [07/Jun/2017 15:20:51] "GET /static/css/bootstrap.min.css.map HTTP/1.1" 200 -
> 127.0.0.1 - - [07/Jun/2017 15:21:58] "POST /getJSONResult HTTP/1.1" 500 -

서버 측 500 오류 문제를 수정하고 이제 200 코드를 요청하고 콘솔에 다음 정보가 표시됩니다.

$ python project.py
INFO:werkzeug: * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
INFO:werkzeug: * Restarting with stat
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger pin code: 158-624-607
INFO:werkzeug:127.0.0.1 - - [08/Jun/2017 11:33:33] "GET /qyer HTTP/1.1" 200 -
INFO:root:Enter getJSONResult
INFO:werkzeug:127.0.0.1 - - [08/Jun/2017 11:33:43] "POST /getJSONResult HTTP/1.1" 200 -

여전히 인쇄 명령의 정보가 없습니다.

 

해결 방법

 

이것을 시도하고 도움이되는지 확인하십시오.

python2의 경우 :

from __future__ import print_function
import sys

print('This is error output', file=sys.stderr)
print('This is standard output', file=sys.stdout)

python3의 경우 향후 print_function에서 가져올 필요가 없습니다.

import sys

print('This is error output', file=sys.stderr)
print('This is standard output', file=sys.stdout)

콘솔에 인쇄하는 것이 도움이되는지 확인하십시오.

 

참조 페이지 https://stackoverflow.com/questions/44405708

 

 

반응형

댓글