python代码——日志logging

日志logging

  • 定义:记录代码执行的过程
  • 什么时候记录:加到代码里面
  • 作用:一旦记录下来,就能够使用日志去排查问题
  • 日志的级别 ->有左到右越来越严重
  • debug(调试)-》info(打印信息,类似print) -》waring(警告信息)-》 error(错误)-》 critical(致命)
  • 日志与print打印有什么不同,为什么不用print?
  • 1.代码量太多了;
  • 2.使用print会占用内存,不使用的时候需要一行一行去注释
  • 3.使用日志的时候,可以自己设置打印什么样级别的日志出来,比较灵活
  • 模块:logging python自带,不需要安装

语法

  • 直接使用 logging.debug(mes)来打印信息,info等的使用方法与debug一致,都只有一个位置参数
  • 使用python默认时,默认会输出warning以上的信息。原因:root logger(如下图,源码中有)是系统自定义的收集日志的收集器,默认收集并输出warnning级别以上的日志信息(包含warnning)
  • 日志输出的渠道默认是控制台(console)
    在这里插入图片描述
  • 代码示例如下:
import logging

logging.debug('这是一个debug的信息')
#打印了一条日志在debug级别
#通通只有一个位置参数
logging.info('这是一个info的信息')
logging.warning('这是一个warning的信息')
logging.error('这是一个error的信息')
logging.critical('这是一个critical的信息')

#备注:执行结果中,冒号之前的信息为级别,冒号之后的为想要输出的错误信息
**************run_result****************
WARNING:root:这是一个warning的信息
ERROR:root:这是一个error的信息
CRITICAL:root:这是一个critical的信息

日志输出的步骤

  • 因此,如果想自定义打印日志(我的日志我做主),需要改动的地方是: 日志级别和日志输出方式,所以要做以下步骤:
  • 第一步:自定义一个日志收集器(getLogger函数),注意,一定要给一个名字,否则默认返回 root logger,代码:my_logger = logging.getLogger('yiyi')
  • 第二步:设置级别(setLevel函数),注意,后面一定要传级别,否则默认返回wainning,代码:my_logger.setLevel('DEBUG')
  • 第三步:指定输出渠道,ch = logging.StreamHandler()
  • 第四步:设置输出级别,my_logger.setLevel('DEBUG')
  • 第五步:对接,添加渠道,my_logger.addHandler(ch)
  • 收集日志的级别与输出日志的级别不一致时,最终输出结果是两个级别的交集
  • 代码示例:
import logging

my_logger = logging.getLogger('yiyi')#创建日志收集器
my_logger.setLevel('DEBUG')#定义收集级别,大小写都可
ch = logging.StreamHandler()#输出到控制台
my_logger.setLevel('DEBUG')#定义输出级别

my_logger.addHandler(ch)#对接,添加渠道

my_logger.debug('这是一个debug的信息')
#打印了一条日志在debug级别
my_logger.info('这是一个info的信息')
my_logger.warning('这是一个warning的信息')
my_logger.error('这是一个error的信息')
my_logger.critical('这是一个critical的信息'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值