我有一个烧瓶应用程序正在运行,仅提供一个API。在应用程序的日志中,我经常看到找不到有关URL的消息。网址可能是下一个:
/robots.txt?
,/?
,/swagger/index.html?
,/swagger-ui.html?
,/favicon.ico?
。
我认为这在某种程度上与烧瓶的配置有关,尤其是招摇和Favicon的配置,但是我对此没有找到任何解释。
在不删除404日志的情况下如何解决此问题的任何建议?或有任何想法为什么会这样?
我对烧瓶安装了下一个要求:
flask==1.1.2
flask-cors==3.0.8
flask-restx==0.2.0
werkzeug==1.0.1
以这种方式初始化API:
api = Api(
default="test",
title="test",
description="test",
doc="/" if not stage == 'prod' else False,
)
以另一种方式实例化应用程序:
from flask import Flask, request
from flask_cors import CORS
from werkzeug.exceptions import NotFound
from werkzeug.middleware.proxy_fix import ProxyFix
def create_app(env: str):
app = Flask(__name__, instance_relative_config=True)
app.config.from_object(app_config[env])
app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1)
api.init_app(app)
CORS(app, origins=allowed_origins)
@app.errorhandler(NotFound)
def handle_not_found(error):
logger.exception(
"Request URL wasn't found. Full path: %s. %s",
request.full_path, error.description
)
return NotFound()
return app