python日志模块logging

python日志模块logging

作用:
1、代替print,可以把大部分你想要进行调试的信息打印出来,或者是输出到指定的文件
2、可以对一些输出的调试信息分类做输出,级别:DEBUG、INFO、WARNING、ERROR、CRITICAL

输出会经过两个渠道
1、logger 收集日志 收集什么类型的日志
2、handdler 输出日志的渠道 指定的文件还是控制台 默认控制台

import logging
'''kaishi'''
logging.debug('测试')
logging.info('一下')
logging.warning('这个')
logging.error('怪')
logging.critical('日志')
'''jieshu'''
#结果:【若不设置级别,只会输出warning以上类型的日志,并且输出到控制台】
#WARNING:root:怪
#ERROR:root:乖
#CRITICAL:root:baby

步骤

# 1、定义一个日志收集器
my_logger=logging.getLogger('python11')
# 2、设置收集级别(输出跟收集不设置,默认输出warning以上的)
my_logger.setLevel("DEBUG")
# 3、设置输出格式
formatter=logging.Formatter('%(asctime)s-%(levelname)s-%(filename)s-%(name)s-日志信息:%(message)s')
# 4、创建一个我们自己的输出渠道(下面两种)
ch=logging.StreamHandler()
fh=logging.FileHandler('py11.txt',encoding='utf-8')
# 5、设置输出级别(输出跟收集不设置,默认输出warning以上的)
ch.setLevel("DEBUG")
fh.setLevel('DEBUG')
# 6、给输出渠道设置一下输出格式
ch.setFormatter(formatter)
fh.setFormatter(formatter)
# 7、两者对接——指定输出渠道(收集的日志的输出渠道)
my_logger.addHandler(ch)
my_logger.addHandler(fh)
# 8、收集日志
my_logger.debug("已经懵逼")
my_logger.error("振作一点")
#9、关闭日志收集器渠道
my_logger.removeFilter(fh)
my_logger.removeHandler(ch)

format参数中可能用到的格式化串:
%(name)s Logger的名字
%(levelno)s 数字形式的日志级别
%(levelname)s 文本形式的日志级别
%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
%(filename)s 调用日志输出函数的模块的文件名
%(module)s 调用日志输出函数的模块名
%(funcName)s 调用日志输出函数的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d 线程ID。可能没有
%(threadName)s 线程名。可能没有
%(process)d 进程ID。可能没有
%(message)s 用户输出的消息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值