Skip to content

Instantly share code, notes, and snippets.

@daryltucker
Last active October 12, 2023 13:31
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save daryltucker/e40c59a267ea75db12b1 to your computer and use it in GitHub Desktop.
Save daryltucker/e40c59a267ea75db12b1 to your computer and use it in GitHub Desktop.
Really disable logger logging in Flask
# I have my own logging setup and had a hard time disabling console output in Flask.
app.logger.disabled = True
log = logging.getLogger('werkzeug')
log.disabled = True
# New, 2022 Method:
logging.getLogger('werkzeug').disabled = True
@mconigliaro
Copy link

For the record, this only disables the logging statements. If you want to disable the console warnings too, you have to monkeypatch the function that does that (see: cs01/gdbgui#425):

import flask.cli    
flask.cli.show_server_banner = lambda *args: None

The old hack (os.environ["WERKZEUG_RUN_MAIN"] = "true") doesn't work in werkzeug >=2.1.0.

@cj-praveen
Copy link

@mconigliaro Man! your code works well! Thanks :)

@NefixEstrada
Copy link

If using flask-socketio:

logging.getLogger("werkzeug").disabled = True
logging.getLogger("geventwebsocket.handler").disabled = True

@tanjuntao
Copy link

tanjuntao commented Jun 26, 2023

Really nice! I'm using Flask 2.2.3, it works.

@miloandrs
Copy link

miloandrs commented Oct 12, 2023

Thank you!
This worked perfectly for me.

pasted right below the instantiation line
app = Flask(name)
logging.getLogger('werkzeug').disabled = True

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment