flask统计接口耗时并写入日志
时间: 2023-08-14 12:08:27 浏览: 324
python3-flask-3将信息写入日志的实操方法
要在 Flask 应用程序中统计接口耗时并将其写入日志,可以使用 Python 的 `time` 模块来测量代码块的执行时间,并使用 `logging` 模块将其写入日志文件。
以下是一个示例代码:
```python
import time
import logging
from flask import Flask, request
app = Flask(__name__)
logging.basicConfig(filename="app.log", level=logging.INFO)
@app.before_request
def start_timer():
request.start_time = time.time()
@app.after_request
def log_request(response):
if not request.path.startswith("/static"):
elapsed_time = time.time() - request.start_time
logging.info(f"{request.method} {request.path} {response.status_code} {elapsed_time}")
return response
@app.route("/")
def index():
time.sleep(1)
return "Hello, World!"
if __name__ == "__main__":
app.run(debug=True)
```
在上面的示例中,我们使用 Flask 的 `before_request` 钩子在每个请求开始时记录当前时间,并使用 `after_request` 钩子在每个请求结束时计算执行时间并将其写入日志文件。我们还使用 `logging` 模块将日志级别设置为 `INFO`,以便只记录信息级别的日志。
在应用程序运行时,您可以查看 `app.log` 文件来查看每个请求的执行时间和状态码。
阅读全文