我有一个 Flask 代码库,其中始终使用标准库的日志记录模块。我希望能够根据每个请求增加和减少日志级别。通过这种方式,我可以通过设置查询字符串参数或类似的东西来获取记录在我感兴趣的特定请求上的跟踪或调试级别信息。
我知道 Flask 有一个 before_request 和 after_request 装饰器,可以用来提高和降低日志级别。但是,如果抛出未处理的异常并阻止日志级别重置为其默认级别,那将是一个糟糕的交易。是否有可靠的方法来设置和恢复每个请求的日志级别?
我也不太熟悉日志模块如何与线程和 Flask 交互。如果多线程应用程序服务器正在运行我的 Flask 应用程序,记录器是否跨线程共享?我不想降低一个请求中的日志级别,并让另一个不相关的请求与第一个请求的记录器一起执行。