'''
日志的进阶使用:
logging库的四大组件,实现日志的记录与输出:
1.logger记录器:提供基本的能够被程序直接调用的接口(方法)
2.handler处理器:提供将记录器的内容展示到具体目的地的用途,控制台或文件
3.filter过滤器:提供更加细化颗粒度的内容控制
4.formatter格式化器:提供日志的所有输出内容的格式
等级设置:一定是处理器要高于等于记录器的等级,才可以正常显示所有内容
'''
import logging
# 创建logger记录器,实现对日志的记录行为
logger = logging.getLogger('mpf')
#formatter定义日志的格式
logger_formatter = logging.Formatter('%(levelname)s %(asctime)s %(filename)s %(lineno)s : %(message)s')
#logger的日志等级
logger.setLevel(logging.DEBUG)
#创建处理器:控制台处理器
stream_handler = logging.StreamHandler()
#设置stream handler的日志等级
stream_handler.setLevel(logging.INFO)
#设置stream handler的格式
stream_handler.setFormatter(logger_formatter)
#创建处理器:文件处理器,将日志记录在文件之中
file_handler = logging.FileHandler(filename='./file_handler.log',encoding='utf-8')
#设置文件处理器的日志等级
file_handler.setLevel(logging.DEBUG)
#设置文件处理器的格式
file_handler.setFormatter(logger_formatter)
#将stream handler添加到logger中
logger.addHandler(stream_handler)
#将文件处理器添加到logger中
logger.addHandler(file_handler)
logger.debug('这是debug')
logger.info('这是info')
logger.warning('这是warning')
logger.error('这是error')
logger.critical('这是critical')