Disable console messages in Flask server

flask, python

Solution

You can set level of the Werkzeug logger to ERROR, in that case only errors are logged:

import logging
log = logging.getLogger('werkzeug')
log.setLevel(logging.ERROR)

Here is a fully working example tested on OSX, Python 2.7.5, Flask 0.10.0:

from flask import Flask
app = Flask(__name__)

import logging
log = logging.getLogger('werkzeug')
log.setLevel(logging.ERROR)

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

if __name__ == "__main__":
    app.run()

Problem

I have a Flask server running in standalone mode (using `app.run()`). But, I don't want any messages in the console, like ``` 127.0.0.1 - - [15/Feb/2013 10:52:22] "GET /index.html HTTP/1.1" 200 - ... ``` How do I disable verbose mode?

Original source

Related problems