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

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

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

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

image.png

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

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

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)

喜欢的点个赞❤吧!

           

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
11月前
|
存储 监控 API
Python实战:跨平台电商数据聚合系统的技术实现
本文介绍如何通过标准化API调用协议,实现淘宝、京东、拼多多等电商平台的商品数据自动化采集、清洗与存储。内容涵盖技术架构设计、Python代码示例及高阶应用(如价格监控系统),提供可直接落地的技术方案,帮助开发者解决多平台数据同步难题。
|
10月前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
11月前
|
数据采集 存储 XML
Python爬虫技术:从基础到实战的完整教程
最后强调: 父母法律法规限制下进行网络抓取活动; 不得侵犯他人版权隐私利益; 同时也要注意个人安全防止泄露敏感信息.
1148 19
|
11月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
1252 2
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
数据采集 机器学习/深度学习 数据可视化
Python量化交易:结合爬虫与TA-Lib技术指标分析
Python量化交易:结合爬虫与TA-Lib技术指标分析
|
数据采集 自然语言处理 分布式计算
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
|
JavaScript Java Go
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
905 0
|
11月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1717 102
|
11月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
529 104

推荐镜像

更多