日志模块组件:
日志器logger:提供应用程序调用的接口
处理器handler:将日志发送到指定的位置
过滤器filter:过滤日志信息
格式器formatter:格式化输出日志
如何配置日志管理器:
#导入模块
import logging
#1.创建一个logger日志管理器,初始化/实例化对象
logger = logging.getLogger()
#设置logger级别
logger.setLevel(logging.DEBUG)#2.定义处理器Handler
#在控制台输出StreamHandler
sh=logging.StreamHandler()
#达到什么级别在控制台输出
sh.setLevel(logging.DEBUG)
#写有文件里面,FileHandler文件处理器
fh=logging.FileHandler('ftest2.log',encoding='utf-8')
#达到什么级别写入,设置日志记录的级别
fh.setLevel(logging.WARNING)#3.定义日志输出格式
formatter=logging.Formatter('时间:%(asctime)s 日志级别:%(levelname)s 日志信息:%(message)s')#4.告诉哪些处理器要以上述定义的格式进行输出
sh.setFormatter(formatter)
fh.setFormatter(formatter)
#5.将控制台处理器对象sh和文件处理器对象fh添加到logger中的Handler中去
logger.addHandler(sh)
logger.addHandler(fh)#6.设置每个级别日志内容
logging.debug('testing')
logging.info('normal operation')
logging.warning('警告')
logging.error('错误')
logging.critical('严重错误')
运行结果为:
时间:2025-03-29 19:21:37,000 日志级别:DEBUG 日志信息:testing
时间:2025-03-29 19:21:37,000 日志级别:INFO 日志信息:normal operation
时间:2025-03-29 19:21:37,000 日志级别:WARNING 日志信息:警告
时间:2025-03-29 19:21:37,000 日志级别:ERROR 日志信息:错误
时间:2025-03-29 19:21:37,001 日志级别:CRITICAL 日志信息:严重错误
同时在新创立的文件ftest2.log中也会输出达到此级别记录的日志: