在Flask应用程序中,可以使用Python的logging模块来保存日志。要每天单独保存Flask应用程序的日志,而不是保存到一个巨大的文件中,可以通过配置logging模块来实现。
下面是实现这个需求的步骤:
import logging
from logging.handlers import TimedRotatingFileHandler
app_logger = logging.getLogger('app')
app_logger.setLevel(logging.DEBUG)
log_handler = TimedRotatingFileHandler('path/to/logs/flask_app.log', when='midnight', backupCount=30)
'path/to/logs/flask_app.log'
为日志文件的路径,when='midnight'
表示每天午夜切割日志文件,backupCount=30
表示保留最近30天的日志文件。
log_format = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
log_handler.setFormatter(log_format)
app_logger.addHandler(log_handler)
app_logger.debug('Debug message')
app_logger.info('Info message')
app_logger.warning('Warning message')
app_logger.error('Error message')
app_logger.critical('Critical message')
完整的代码示例:
import logging
from logging.handlers import TimedRotatingFileHandler
app_logger = logging.getLogger('app')
app_logger.setLevel(logging.DEBUG)
log_handler = TimedRotatingFileHandler('path/to/logs/flask_app.log', when='midnight', backupCount=30)
log_format = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
log_handler.setFormatter(log_format)
app_logger.addHandler(log_handler)
app_logger.debug('Debug message')
app_logger.info('Info message')
app_logger.warning('Warning message')
app_logger.error('Error message')
app_logger.critical('Critical message')
这样配置后,Flask应用程序的日志将按照每天切割成单独的文件,并保留最近30天的日志文件。你可以根据需要调整TimedRotatingFileHandler的参数,比如按小时切割、保留更长时间的日志文件等。
腾讯云相关产品推荐:
领取专属 10元无门槛券
手把手带您无忧上云