python 写log文件 要求文件写入大于1MB切换下一个文件写入 文件夹命名为时间
要在Python中编写日志文件,可以使用logging
模块。以下是一个示例代码,可以将日志写入到每个大于1MB的文件,并使用当前时间作为文件夹名称:
import os
import logging
from datetime import datetime
# 创建日志文件夹
log_folder = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
os.makedirs(log_folder, exist_ok=True)
# 配置日志
logging.basicConfig(filename=os.path.join(log_folder, 'log.txt'),
filemode='a',
format='%(asctime)s - %(levelname)s - %(message)s',
level=logging.INFO)
# 创建日志记录器
logger = logging.getLogger()
# 设置日志文件大小为1MB
max_log_size = 1024 * 1024 # 1MB
# 创建文件处理器
file_handler = logging.handlers.RotatingFileHandler(filename=os.path.join(log_folder, 'log.txt'),
maxBytes=max_log_size,
backupCount=10)
logger.addHandler(file_handler)
# 写入日志
logger.info('This is a log message.')
# 关闭日志记录器
logger.removeHandler(file_handler)
上述代码中,log_folder
变量用于存储当前时间的文件夹名称。os.makedirs
函数用于创建文件夹。
logging.basicConfig
函数用于配置日志,并将日志文件名设置为log.txt
。filemode
参数设置为a
,表示以追加模式打开文件。format
参数设置日志的格式。
max_log_size
变量用于设置日志文件的最大大小为1MB。
RotatingFileHandler
类用于创建文件处理器,该处理器将日志写入到指定的文件,并在日志文件大小超过最大限制时切换到下一个文件。
最后,使用logger.info
函数写入日志内容。在写入完所有日志后,使用logger.removeHandler
函数关闭日志记录器

原文地址: https://www.cveoy.top/t/topic/id4T 著作权归作者所有。请勿转载和采集!