100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python 技术篇-logging模块的日志定期清理设置 自动清理上个月的日志实例演示

python 技术篇-logging模块的日志定期清理设置 自动清理上个月的日志实例演示

时间:2021-07-09 12:41:54

相关推荐

python 技术篇-logging模块的日志定期清理设置 自动清理上个月的日志实例演示

先说一下我设置的清理日志原理:

每天都建立一个新的日志文件来存储日志,每次启用程序时检查日志目录里的所有日志文件,自动清理上个月之前的日志。

如图,我把日期存在当天日志的名字里。

然后遍历目录下所有的文件名,提取出年份和月份信息,和今天的年份和月份信息进行对比,筛选出上个月之前的日志文件进行删除操作。

import logging # 日志模块import datetime # 时间模块import os# 设置日志存放路径path = '.\\log\\'if(not os.path.exists(path)):os.mkdir(path)# 获取今天的日期 格式-08-01today_date = str(datetime.date.today())# 定义日志logging.basicConfig(filename = path + 'log_' + today_date + '.txt', level = logging.DEBUG, filemode = 'a', format = '【%(asctime)s】 【%(levelname)s】 >>> %(message)s', datefmt = '%Y-%m-%d %H:%M')# 清理上个月的日志def clean_log():global pathglobal today_date# 遍历目录下的所有日志文件 i是文件名for i in os.listdir(path):file_path = path + i # 生成日志文件的路径# 获取日志的年月,和今天的年月today_m = int(today_date[5:7]) # 今天的月份m = int(i[9:11]) # 日志的月份today_y = int(today_date[0:4]) # 今天的年份y = int(i[4:8]) # 日志的年份# 对上个月的日志进行清理,即删除。if(m < today_m):if(os.path.exists(file_path)): # 判断生成的路径对不对,防止报错os.remove(file_path) # 删除文件elif(y < today_y):if(os.path.exists(file_path)):os.remove(file_path)

喜欢的点个赞❤吧!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。