Вы можете изменить все, кроме Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
, изменив show_server_banner
из flask.cli
:
from flask import Flask
import sys
cli = sys.modules['flask.cli']
# put your own message here
cli.show_server_banner = lambda *x: click.echo("My nice message")
app = Flask(__name__)
app.run(host='0.0.0.0', port='80')
Чтобы избавиться от сообщения Running on http://0.0.0.0:80/ ...
, вы можете использовать unittest.mock
:
from unittest import mock
from werkzeug._internal import _log
def my_startup_log(*args):
# log all messages except for the * Running on message
if not args[1].startswith(" * Running on"):
return _log(*args)
app = Flask(__name__)
with mock.patch('werkzeug.serving._log') as mocked:
# patch the logger object and replace with own logger
mocked.side_effect = my_startup_logger
app.run(host='0.0.0.0', port='8000')
Это очень странно и зависит от внутренней реализации flask. Будьте осторожны при использовании этого в производственном коде, поскольку это может легко сломаться.