flask配置log

发布时间 2023-09-21 16:58:20作者: 雀雀飞了

flask配置log

import logging
from logging.handlers import RotatingFileHandler

app = Flask(__name__)


# 配置日志记录级别,在这里,将日志记录级别设置为 DEBUG,意味着所有 DEBUG 及以上级别的日志消息都会被记录。这样可以方便地在调试过程中查看更详细的日志信息。
app.logger.setLevel('DEBUG')


# 创建一个文件处理程序
# file_handler = logging.FileHandler('log/test.log', encoding='utf-8')
file_handler = RotatingFileHandler(filename='log/test.log', encoding='utf-8', maxBytes=1024*1024, backupCount=5)


'''

logging.FileHandler 和 RotatingFileHandler 是 Python 标准库中的两个不同的类,用于处理日志文件的输出
两者的区别在于对日志文件的处理方式和功能不同。如果只需要简单地将日志写入一个文件,并不需要进行切割和备份,那么使用 logging.FileHandler 就足够了。但如果希望控制日志文件的大小和备份,以避免文件过大或保存历史日志,那么使用 RotatingFileHandler 更适合。

'''


file_handler.setLevel(logging.DEBUG) # 设置了文件处理程序的日志记录级别,这意味着只有达到 DEBUG 级别及以上的日志消息才会被写入到文件中。


# 创建一个日志格式器
logging_format = logging.Formatter('[%(asctime)s] %(levelname)s :%(message)s '
                                   '[in %(pathname)s:%(lineno)d]')


# 将格式器添加到处理程序
file_handler.setFormatter(logging_format)
# 将处理程序添加到日志记录器
app.logger.addHandler(file_handler)

...

# 需要记录日志的地方
app.logger.info(...)
app.logger.debug(...)
app.logger.waring(...)
app.logger.error(...)
app.logger.critical(...)


# 通过配置不同的日志记录级别,可以根据需要调整日志的详细程度。例如,在生产环境中,只希望记录 ERROR 级别及以上的错误信息,而在开发和调试阶段,你可能需要更详细的日志信息,因此将日志记录级别设置为 DEBUG 可能会更有帮助。