视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
使用python如何对日志进行处理(代码)
2020-11-27 14:21:08 责编:小采
文档


本篇文章给大家带来的内容是关于使用python如何对日志进行处理 (代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
平时做数据处理基本离不了日志记录功能。每次都配置一堆挺烦人,索性封装个模块,这里记录一下,与大家共享。

说明

本日志模块目前只有一个方法getLogger,其他配置项通过参数传递,包括日志文件名,等级,日志文件划分方式,日志清除配置,日志格式等。

logger.py
import loggin
gfrom logging import handlers
# 日志级别字典
__level_dict = { 
'critical': logging.CRITICAL, 
'fatal': logging.CRITICAL, 
'error': logging.ERROR, 
 'warning': logging.WARNING, 
 'warn': logging.WARNING, 
 'info': logging.INFO, 
 'debug': logging.DEBUG
}
def getLogger(filename, level='info', when='D', backupCount=3,
 fmt='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'):
 """
 获取日志处理对象

 :param filename: 日志文件名称
 :param level: 日志等级:debug, info, warn/warning, error, critical
 :param when: 日志文件分割的时间单位,单位有以下几种:<br>
 - S 秒<br>
 - M 分<br>
 - H 小时<br>
 - D 天<br>
 - W 每星期<br>
 - midnight 每天凌晨<br>
 :param backupCount: 备份文件的个数,如果超过这个数量,就会自动删除
 :param fmt: 日志信息格式
 :return:
 """
 level = __level_dict.get(level.lower(), None)
 logger = logging.getLogger(filename) # 设置日志格式
 format_str = logging.Formatter(fmt) # 设置日志级别
 logger.setLevel(level) # 控制台
输出 console_handler = logging.StreamHandler() # 控制台输出的格式 console_handler.setFormatter(format_str) logger.addHandler(console_handler) # 文件输出 file_handler = handlers.TimedRotatingFileHandler(filename=filename, when=when, backupCount=backupCount, encoding='utf-8') # 文件输出的格式 file_handler.setFormatter(format_str) logger.addHandler(file_handler) return loggerif __name__ == '__main__': log = getLogger('test.log') log.debug('debug') log.info('info') log.warning('警告') log.error('报错') log.critical('严重') getLogger('error.log', level='error').error('error')
运行结果

2018-09-06 17:07:40,909 - D:/jetbrains/workspace-pycharm/test/logger.py[line:59] - INFO: info
2018-09-06 17:07:40,909 - D:/jetbrains/workspace-pycharm/test/logger.py[line:60] - WARNING: 警告
2018-09-06 17:07:40,909 - D:/jetbrains/workspace-pycharm/test/logger.py[line:61] - ERROR: 报错
2018-09-06 17:07:40,910 - D:/jetbrains/workspace-pycharm/test/logger.py[line:62] - CRITICAL: 严重

2018-09-06 17:07:40,915 - D:/jetbrains/workspace-pycharm/test/logger.py[line:63] - ERROR: erro

下载本文
显示全文
专题