python内置模块-logging
logger、handler、formatter
a、logger提供了应用程序可以直接使用的接口
b、handler将logger创建的日志记录发送到合适的目的输出
c、filter提供细度设备决定输出那条日志记录
d、formatter决定日志输出格式
1⃣️、生成logger对象
logger = logging.getLogger("web")
2⃣️、设置全局日志级别
logger.setLevel(logging.INFO) # 默认warning
3⃣️、生成console/file handler对象
ch = logging.StreamHandler()
fh = logging.FileHandler('web.log')
a、设置console日志级别
ch.setLevel(logging.DEBUG)
b、设置file日志级别
fh.setLevel(logging.INFO)
4⃣️、把handler对象绑定到logger
logger.addHandler(ch)
logger.addHandler(fh)
5⃣️、生成formatter对象
console_format = logging.Formatter('%(asctime)s 【%(levelname)s】 %(message)s')
file_format = logging.Formatter('%(asctime)s 【%(levelno)s】 %(message)s')
6⃣️、formatter对象绑定到handler
ch.setFormatter(console_format)
fh.setFormatter(file_format)
7⃣️、日志输出
logger.error("xxxxx")
日志优先级 从全局 到 局部