How to print from Flask @app.route to python console

前端 未结 4 2059
无人及你
无人及你 2021-01-30 06:14

I would like to simply print a \"hello world\" to the python console after /button is called by the user.

This is my naive approach:

@app.route(\'/button         


        
4条回答
  •  后悔当初
    2021-01-30 06:57

    I tried running @Viraj Wadate's code, but couldn't get the output from app.logger.info on the console.

    To get INFO, WARNING, and ERROR messages in the console, the dictConfig object can be used to create logging configuration for all logs (source):

    from logging.config import dictConfig
    from flask import Flask
    
    
    dictConfig({
        'version': 1,
        'formatters': {'default': {
            'format': '[%(asctime)s] %(levelname)s in %(module)s: %(message)s',
        }},
        'handlers': {'wsgi': {
            'class': 'logging.StreamHandler',
            'stream': 'ext://flask.logging.wsgi_errors_stream',
            'formatter': 'default'
        }},
        'root': {
            'level': 'INFO',
            'handlers': ['wsgi']
        }
    })
    
    
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        return "Hello from Flask's test environment"
    
    @app.route('/print')
    def printMsg():
        app.logger.warning('testing warning log')
        app.logger.error('testing error log')
        app.logger.info('testing info log')
        return "Check your console"
    
    if __name__ == '__main__':
        app.run(debug=True)
    
    

提交回复
热议问题