当前位置:首页 > Python教程 > python技巧

python_loggin日志处理

一。

1.引入

import logging

日志的作用:

1)出现问题后,排查问题使用

2.初识

日志的等级按照由低到高的顺序排列:

1)debug

2)info

3)warning

4)error

5)critical

logging.debug(‘这是一个调试级别的日志‘)
logging.info(‘正常日志‘)
logging.warning(‘这是警告级别的日志‘)
logging.error(‘已经出错了‘)
logging.critical(‘程序已经停止了‘)
运行结果:

技术分享图片

 

语言内置的logging模块默认是root级别的,只收集warning级别以上的日志

源码:

技术分享图片

 

 

 

3.自定义

1)在控制台打印日志:

#1)创建日志收集器,其中getLogger(这里可以不用写名字,若不写名字日志默认为root模式)
root_logging=logging.getLogger(‘class_18‘)
#2)设置收集器,收集日志等级
root_logging.setLevel(‘DEBUG‘)
#3)设置输出处理器,在当前控制台打印日志
stream_handler=logging.StreamHandler()
#设置控制台日志输出等级
stream_handler.setLevel(‘INFO‘)
#4)把输出处理器添加到收集器上面
root_logging.addHandler(stream_handler)
#5)打印的日志信息
root_logging.info(‘新写的info日志‘)
root_logging.debug(‘新写的debug日志‘)
root_logging.warning(‘新写的warning日志‘)
root_logging.error(‘新写的error日志‘)
root_logging.critical(‘新写的critical日志‘)
        
运行结果:

技术分享图片

 

 注意:打印的结果与收集器规定的等级与控制台允许输出的等级是包含关系

 

#6)规定日志输出格式
fmt=logging.Formatter(‘%(asctime)s -- wenjianming:%(filename)s -- hanghao:%(lineno)d -- %(levelname)s:%(message)s‘)
stream_handler.setFormatter(fmt)
#7)打印设定格式的日志信息
root_logging.info(‘新写的info日志‘)
root_logging.debug(‘新写的debug日志‘)
root_logging.warning(‘新写的warning日志‘)
root_logging.error(‘新写的error日志‘)
root_logging.critical(‘新写的critical日志‘)
        
运行结果:

技术分享图片

 

 

#2)在文件中打印日志:

#创建日志收集器,不写名字默认为root等级
root_logging=logging.getLogger()
#设置日志收集器收集日志的等级
root_logging.setLevel(‘INFO‘)
#创建文件收集器,并传入日志路径
file_handler=logging.FileHandler(‘log.txt‘,encoding=‘utf-8‘)
#设置文件收集器收集日志的等级
file_handler.setLevel(‘INFO‘)
#把输出器添加到收集器上
root_logging.addHandler(file_handler)
#设置log的格式
fmt=logging.Formatter(‘%(asctime)s -- wenjianming:%(filename)s -- hanghao:%(lineno)d -- %(levelname)s:%(message)s‘)
#添加到文件收集器里面
file_handler.setFormatter(fmt)
#输入需要打印的日志
root_logging.info(‘新写的info日志‘)
root_logging.debug(‘新写的debug日志‘)
root_logging.warning(‘新写的warning日志‘)
root_logging.error(‘新写的error日志‘)
root_logging.critical(‘新写的critical日志‘)
运行结果:

技术分享图片

 

 

4.封装成类

未完待续

        

原文:https://www.cnblogs.com/newsss/p/12984754.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐