gpt4 book ai didi

python - 如何自定义 Flask 的启动消息?

转载 作者:行者123 更新时间:2023-12-05 05:03:56 27 4
gpt4 key购买 nike

我在 Cloud9 中运行 Flask 应用程序。每当我启动我的 Flask 应用程序时,它都会显示以下消息:

 * Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:80/ (Press CTRL+C to quit)

有没有办法更改此消息?我希望它说这样的话:

Connect to me at http://0.0.0.0:80/!

我已经搜索过 stack overflow 和 web 但找不到任何东西。我正在使用 app.run() 启动我的应用程序。
另外,是否可以将 URL 设为青色?

最佳答案

除了 Running on http://0.0.0.0:80/(Press CTRL+C to quit) 之外,您可以通过更改 flask 的 show_server_banner 来更改所有内容.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')

这非常 hacky,取决于 flask 的内部实现。在生产代码中使用它时要小心,因为它很容易损坏。

关于python - 如何自定义 Flask 的启动消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61397400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com