python rotating logger
- 参数说明
log_level 例如 logging.DEBUG
log_path 例如 ./logs/app.txt
log_max_byte 例如 100000000
log_backup_count 例如 3,日志文件保留最近的样本数量
log_when 例如 H 还有 S M H D,时间单位,秒/分/时/天 英文首字母大写
log_interval 例如 1,和 log when 组合,组成时间长度
- 按文件大小进行滚动
def get_rotating_file_logger(name, log_level_, log_path, log_max_byte, log_backup_count):log_level = log_level_ch = RotatingFileHandler(log_path, maxBytes=int(log_max_byte), backupCount=int(log_backup_count))ch.setLevel(log_level)formatter = logging.Formatter('[%(asctime)s][%(levelname)7s][%(threadName)s][%(filename)s:%(funcName)s:%(lineno)s] %(message)s')ch.setFormatter(formatter)logging.basicConfig(handlers=[ch], level=log_level, format=formatter)logger = logging.getLogger(name)logger.propagate = False# add ch to loggerlogger.addHandler(ch)return logger
- 按日期进行滚动
def get_timed_rotating_file_logger(name, log_level_, log_path, log_when, log_interval, log_backup_count):log_level = log_level_ch = TimedRotatingFileHandler(log_path, when=log_when, interval=int(log_interval), backupCount=int(log_backup_count))ch.setLevel(log_level)# create formatterformatter = logging.Formatter('[%(asctime)s][%(levelname)7s][%(threadName)s][%(filename)s:%(funcName)s:%(lineno)s] %(message)s')ch.setFormatter(formatter)logging.basicConfig(handlers=[ch], level=log_level, format=formatter)logger = logging.getLogger(name)logger.propagate = False# add ch to loggerlogger.addHandler(ch)return logger
- 所有日志按日期进行滚动
- 错误日志单独按文件大小进行滚动,错误日志文件单独存放,在开发阶段便于发现错误
def get_hybrid_rotating_file_logger(name, log_level_, log_path, log_max_byte, log_when, log_interval, log_backup_count):log_level = log_levelformatter = logging.Formatter('[%(asctime)s][%(levelname)7s][%(threadName)s][%(filename)s:%(funcName)s:%(lineno)s] %(message)s')ch = TimedRotatingFileHandler(log_path, when=log_when, interval=int(log_interval), backupCount=int(log_backup_count))ch.setLevel(log_level)ch.setFormatter(formatter)error_ch = RotatingFileHandler(log_path + '.error.log', maxBytes=int(log_max_byte), backupCount=int(log_backup_count))error_ch.setLevel(logging.ERROR)error_ch.setFormatter(formatter)logging.basicConfig(handlers=[ch, error_ch], level=log_level, format=formatter)logger = logging.getLogger(name)logger.propagate = False# add ch to loggerlogger.addHandler(ch)logger.addHandler(error_ch)return logger
python rotating logger相关推荐
- python logging logger
[Python 模块] logging模块.Logger类 - ihoneysec - 博客园
- python info_Python logger.info方法代码示例
本文整理汇总了Python中utils.logger.info方法的典型用法代码示例.如果您正苦于以下问题:Python logger.info方法的具体用法?Python logger.info怎么 ...
- python logging.getlogger,python – 避免`logger = logging.getLogger(__ name __)`
您可以使用logging.basicConfig通过日志记录定义可用的默认界面,如下所示: import logging logging.basicConfig(level=logging.DEBUG ...
- python logger filter_使用Filter过滤python中的日志输出的实现方法
事情是这样的,我写了一个tornado的服务,过程当中我用logging记录一些内容,由于一开始并没有仔细观察tornado自已的日志管理,所以我就一般用debug来记录普通日志,error记录有问题 ...
- python logging logger_Python logging.Logger方法代码示例
本文整理汇总了Python中logging.Logger方法的典型用法代码示例.如果您正苦于以下问题:Python logging.Logger方法的具体用法?Python logging.Logge ...
- Python logging使用
Python logging使用 快速配置 # -*- coding:utf-8 -*- import logging# 默认配置root logger logging.basicConfig(fil ...
- 【Python 日志】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Python 之Logger 前言 一.Logger 二.步骤 1.引入库 2.Logger 总结 前言 开发过程,常需要测试功能,定 ...
- 自制快速冒烟测试小工具--基于python多线程
三.代码实现-封装 1. 创建包和文件夹目录 Config:存放配置文件 Driver:存放不同浏览器驱动 TestResults:存放测试结果 TestScripts:存放程序脚本 Util:存放封 ...
- python做测试小工具_自制快速冒烟测试小工具--基于python多线程(2)
原标题:自制快速冒烟测试小工具--基于python多线程(2) 新书 速递 文 |愈知愈无知 快速冒烟测试小工具-(1)分析及准备 三.代码实现-封装 1. 创建包和文件夹目录 Config:存放配置 ...
最新文章
- Google在中国打败百度的方法其实很简单.只要需改变5点.
- 导师实验室对学生影响有多大?
- IExcelExport
- Hibernate_13_QBC查询
- Node.js 常用Mongoose方法
- 云服务器会获取系统信息吗,国内云服务器会被监控吗
- 协议地址结构_TCP/IP 协议 讲解
- C#枚举类型的常用操作总结
- C#中的类声明和对象定义方法实验
- pop3通过时间或者条件取邮件_Python 进阶(三):邮件的发送与收取
- 尝试安装pg gem时找不到#39;libpq-fe.h标头
- 关于一个类中方法的调用
- JNI中,getBytes()最好指明UTF-8
- asp.net 读取导入的project(mpp)文件
- Axure 9 实战案例,动态面板的应用 3,京东的拖动拼图登录验证
- 计算机系统修复命令提示符,win10怎么用命令提示符修复电脑 用命令提示符修复win10电脑的方法...
- 程序员的修炼之道 从小工到小工
- 关于三星S9+ NFC绑定门禁卡
- java并行编程_RxJava(十一): 并行编程
- 物联网大三学生的感叹