前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 技术篇-日志定期清理设置,自动清理上个月的日志实例演示

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

作者头像
小蓝枣
发布2020-09-23 14:41:48
1.9K0
发布2020-09-23 14:41:48
举报
文章被收录于专栏:CSDN博客专家-小蓝枣的博客

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

在这里插入图片描述
在这里插入图片描述

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

代码语言:javascript
复制
import logging   # 日志模块
import datetime   # 时间模块
import os

# 设置日志存放路径
path = '.\\log\\'
if(not os.path.exists(path)):
    os.mkdir(path)

# 获取今天的日期 格式2019-08-01
today_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 path
	global 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)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档