flask debug模式logging模块报错

it2025-08-04  7

**

flask debug模式logging模块报错

**

Traceback (most recent call last): File “C:\Python27\lib\logging\handlers.py”, line 77, in emit self.doRollover() File “C:\Python27\lib\logging\handlers.py”, line 350, in doRollover os.rename(self.baseFilename, dfn) WindowsError: [Error 32]

原因,flask debug模式启动的两个进程,一个用于监控的,由于logging是线程安全的,但并不支持多进程,所以报错。

解决办法:

启动的时候,app.run(use_reloader=False) # 防止debug启动监控个进程

即可解决logging模块

[handler_hand03] class=handlers.TimedRotatingFileHandler 报错现象!

logging 模块的日志级别

logging模块默认定义了以下几个日志等级,它允许开发人员自定义其他日志级别,但是这是不被推荐的,尤其是在开发供别人使用的库时,因为这会导致日志级别的混乱。

DEBUG 最详细的日志信息,典型应用场景是 问题诊断

INFO 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作

WARNING 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的

ERROR 由于一个更严重的问题导致某些功能不能正常运行时记录的信息

FATAL/CRITICAL 整个系统即将/完全崩溃

开发应用程序或部署开发环境时,可以使用 DEBUG 或 INFO 级别的日志获取尽可能详细的日志信息来进行开发或部署调试;

应用上线或部署生产环境时,应该使用 WARNING 或 ERROR 或 CRITICAL 级别的日志来降低机器的I/O压力和提高获取错误日志信息的效率。

日志级别的指定通常都是在应用程序的配置文件中进行指定的。

logging 模块的使用方式介绍

loggers 提供应用程序代码直接使用的接口

handlers 用于将日志记录发送到指定的目的位置

filters 提供更细粒度的日志过滤功能,用于决定哪些日志记录将会被输出(其它的日志记录将会被忽略)

formatters 用于控制日志信息的最终输出格式

最新回复(0)