logging日志使用

logging 是 Python 标准库中的一个模块,用于记录应用程序的事件和状态信息,可以将日志消息发送到控制台、文件、网络等不同目标
日志级别:DEBUG -> INFO -> WARNING -> IERROR -> ICRITICAL(从低到高)

import logging
#logging.basicConfig(level,filename,filemode,format)
# level 日志级别 logging.WARNING
# filename 日志输出文件 './log.txt'
# filemode 文件写入方式 'w' 'a'
# format 日志格式化 %(levelno)s: 打印日志级别的数值,%(levelname)s: 打印日志级别名称,%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0],%(filename)s: 打印当前执行程序名,%(funcName)s: 打印日志的当前函数,%(lineno)d: 打印日志的当前行号,%(asctime)s: 打印日志的时间,%(thread)d: 打印线程ID,%(threadName)s: 打印线程名称,%(process)d: 打印进程ID,%(message)s: 打印日志信息


logging.basicConfig(level=logging.WARNING,format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')

例1:
只有高于WARNING 级别的日志可以输出
在这里插入图片描述
例2:

import logging

logging.basicConfig(level=logging.WARNING,format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')

try:
    a = int(input("输入第一个数字: "))
    b = int(input("输入第二个数字: "))
    c = a + b
    print(str(a)+'+'+str(b)+'的结果是: '+str(c))
except Exception as exc:
    # print(exc)
    logging.error(exc)

在这里插入图片描述
例3:
日志输出到控制台+文件

import logging

# 第一步,创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO)  # 设置Log等级总开关

# 第二步,创建一个handler,用于写入日志文件
fh = logging.FileHandler('./log.txt', mode='a')
fh.setLevel(logging.DEBUG)  # 输出到file的log等级的开关

# 第三步,再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)  # 输出到console的log等级的开关

# 第四步,定义handler的输出格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
ch.setFormatter(formatter)

# 第五步,将logger添加到handler里面
logger.addHandler(fh)
logger.addHandler(ch)

# 日志
logger.debug('这是debug级别日志')
logger.info('这是info级别日志')
logger.warning('这是warning级别日志')
logger.error('这是error级别日志')
logger.critical('这是critical级别日志')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值