Flask 和日志记录 - 一些问题

问题描述 投票:0回答:1

我。创建 Flask 应用程序时,我到底在哪里初始化日志记录
就在

app = Flask(__name__)
之前?
就在它之后?

二.默认情况下,Flask 以通用格式记录 HTTP 请求,即

- 127.0.0.1 - - [05/Oct/2024 20:39:49] "GET / HTTP/1.1" 200 -

如何将其更改为以下内容?

Received POST request "/rest/api/1234/567" from IP 192.168.0.1. Content-Type =
"application/json", Content-Length = 12345, User-Agent = "Mozilla 1.2.3"

三.最后但并非最不重要的一点是,Flask 附带的开发服务器是否有一些可以注册的 shutdown 处理程序? 当用户按 Ctrl+C 终止它时,我想执行一些最终的清理操作...

python flask
1个回答
-1
投票

应用内日志记录自定义

要自定义 Flask 的日志记录,您可以参考文档这里

您可以使用具有附加功能的自定义记录器覆盖或禁用默认应用程序记录器。

关闭处理程序

来到关闭处理程序,Flask 中没有内置处理程序。

对于

platform-independent
解决方案,Flask提供了一种更兼容的方法,用于通过teardown_appcontext或
atexit
处理程序注册关闭行为。

from flask import Flask
import atexit

app = Flask(__name__)

def shutdown_handler():
    # Perform cleanup tasks here
    print("Shutting down...")

atexit.register(shutdown_handler)

if __name__ == "__main__":
    app.run(debug=True)
© www.soinside.com 2019 - 2024. All rights reserved.