python 日志 按日期或大小归档

随着回调的事件与越来越多,如果每个事件都写一个方法,这就显得代码的冗余,所以,今天将日志都归档,分类

事件日志,看情况,我们一般保留10天,至于错误日志,一般不会报错,所以我们按文件的大小进行分类

# 按日期进行分类import loggingimport logging.handlers as handlersclass InfoLog(object):    def __init__(self, file_name):        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')        self.logHandler = handlers.TimedRotatingFileHandler(file_name, when='D', interval=1, backupCount=10)        self.logHandler.setLevel(logging.INFO)        self.logHandler.setFormatter(formatter)        self.file_name = file_name        self.cons = logging.basicConfig(format='%(asctime)s: %(message)s', level=logging.INFO)    def send_msg(self, msg):        logger = logging.getLogger(self.file_name)        logger.setLevel(logging.INFO)        logger.addHandler(self.logHandler)        logger.info(msg)callback = InfoLog("callback.log")callback.send_msg("33")
# 按大小进行分类import loggingimport logging.handlers as handlersclass ErrLog(object):    def __init__(self, file_name):        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')        self.errorLogHandler = handlers.RotatingFileHandler(file_name, maxBytes=5000, backupCount=0)        self.errorLogHandler.setLevel(logging.INFO)        self.errorLogHandler.setFormatter(formatter)        self.file_name = file_name        self.cons = logging.basicConfig(format='%(asctime)s: %(message)s', level=logging.INFO)    def send_msg(self, msg):        logger = logging.getLogger(self.file_name)        logger.setLevel(logging.INFO)        logger.addHandler(self.errorLogHandler)        logger.info(msg)err = ErrLog("err.log")err.send_msg("44")
# 对其中出现的参数进行说明# backupCount 备份的数量# filename 文件完整路径# formatter 要使用的日志格式# level 日志级别# interval 增量的频率

转载于:https://www.cnblogs.com/zjbacke/p/11202082.html

(0)

相关推荐

  • 应用程序Python的日志记录模板 | 区块链研究实验室

    原创 链三丰 区块链研究实验室 4天前 通过定义明确,信息量大且结构方便的日志,调试和跟踪应用程序执行的理想方式. 它们是任何编程语言(不仅仅是Python)中任何大型,中型或大型项目必不可少的组成部 ...

  • python日志系统-logging

    时间主题12.25(周三)20:00 自动化运维工具-Ansible 在之前测试运维试听课程中,芒果给大家介绍了python日志系统-logging的使用,这里我们来做个小总结.日志相关概念介绍日志是 ...

  • Python 日志打印之logging.config.dictConfig使用总结

    #实践环境 WIN 10 Python 3.6.5 #函数说明 logging.config.dictConfig(config) dictConfig函数位于logging.config模块,该函数 ...

  • python笔记46-史上最强大最好用的python日志模块nb_log

    前言 python的日志模块如何封装一值都是一个头疼的问题,封装的不好总是会出现重复打印等头疼问题. 现在终于找到一个最好用的日志模块nb_log,此日志模块由这位大佬开发的https://www.c ...

  • Selenium2+python自动化72-logging日志使用

    前言 脚本运行的时候,有时候不知道用例的执行情况,这时候可以加入日志,这样出现问题后方便查阅,也容易排查哪些用例执行了,哪些没有执行. 一.封装logging模块 1.关于logging日志的介绍,我 ...

  • 如何在Python中操作日期和时间

    编写Python程序,处理日期和时间经常会遇到,幸好Python本身集成了很多日期.时间相关的模块,让这件繁琐的工作变的方便.本文介绍Python中功能强大的datetime模块. datetime模 ...

  • 弃繁就简!一行代码搞定 Python 日志!

    来源:Python 技术「ID: pythonall」 写了这么多年的 Python ,我一直都是使用 Python 自带的 logging 模块来记录日志,每次需要写一些配置将日志输出到不同的位置, ...

  • python日志输出你会想到啥?不妨来看看这几个模块的用法

    日志可以说是每个开发人员必备的功能 ,通过它可以方便的帮我们找出程序中的一些错误 ,因此要使用到一个好的日志模块或方法对我们来说,也是比较重要的 .接下来我们就介绍python中支持输出日志的4个方法 ...

  • Python中处理日期时间库的使用方法

    最近在搞一个项目,遇到时间处理相关的需求.真的是实战需求导致学习需求,于是百度谷歌了一番,常用的时间处理方法和函数整理出本文.用百分之20时间,学会解决时间问题百分之80的问题. 常用的库有time. ...

  • java file.listFiles()按文件名称、日期、大小排序

    java file.listFiles()按文件名称、日期、大小排序