logging模块(二)(logger对象)

本文详细介绍如何使用Python的logging模块来配置日志系统,包括创建logger对象,设置日志级别,以及通过FileHandler和StreamHandler同时向文件和屏幕发送日志。此外,还探讨了如何灵活地操作日志信息的显示,以及在创建多个logger时应注意的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

logger对象
logging.basicConfig()(用默认日志格式(Formatter)微日志系统建立一个默认的
流处理器(StreamHandler),设置基础配置(如日志级别等)并加到root logger(根Logger)
中)这几个logging模块级别的函数,另外还有一个模块级别的函数式logging.getLogger([name])
(返回一个logger对象,如果没有指定名字将返回root logger)

logger=logging.getLogger()
#建两个对象
#向文件发送日志
fh=logging.FileHandler("test_log")#他得知道把内容发送到哪个文件中去所以括号里写上名字
#向屏幕发送日志
ch=logging.StreamHandler()

#这个也是一个对象,
fm=logging.Formatter("%(asctime)s %(message)s")
#让fh和ch都吃一下fm,目的是两种都有这种格式
fh.setFormatter(fm)
ch.setFormatter(fm)

#建完对象,需要拿到两个对象的功能
logger.addHandler(fh)
logger.addHandler(ch)
logger.setLevel("DEBUG")

logging.debug('debug message')
logging.info("info message")
logging.warning("warning message")
logging.error("error message")
logging.critical("critical message")

结果:文件和控制台都可以看到
在这里插入图片描述
优点:
可以通过更改fh和ch灵活的对日志信息的显示进行操作。
了解:
当想创建两个logger时,要注意两个logger的名字如果相同修改后面的logger时,会将两个一同修改

logger1=logging.getLogger('mylogger')
logger1.setLevel(logging.DEBUG)
logger2=logging.getLogger('mylogger')
logger2.setLevel(logging.INFO)

fh=logging.FileHandler("test_log")
ch=logging.StreamHandler()


fm=logging.Formatter("%(asctime)s %(message)s")

fh.setFormatter(fm)
ch.setFormatter(fm)

logger1.addHandler(fh)
logger1.addHandler(ch)

logger2.addHandler(fh)
logger2.addHandler(ch)


logger1.debug('logger1 debug message')
logger1.info("logger1 info message")
logger1.warning("logger1 warning message")
logger1.error("logger1 error message")
logger1.critical("logger1 critical message")

logger2.debug('logger2 debug message')
logger2.info("logger2 info message")
logger2.warning("logger2 warning message")
logger2.error("logger2 error message")
logger2.critical("logger2 critical message")

结果:

2020-03-15 12:40:11,811 logger1 info message
2020-03-15 12:40:11,811 logger1 warning message
2020-03-15 12:40:11,811 logger1 error message
2020-03-15 12:40:11,812 logger1 critical message
2020-03-15 12:40:11,812 logger2 info message
2020-03-15 12:40:11,812 logger2 warning message
2020-03-15 12:40:11,812 logger2 error message
2020-03-15 12:40:11,812 logger2 critical message
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值