1、方便调试
2、了解程序的运行状况
3、定位问题,从而更好地解决问题
1、logging可以设置不同的日志等级
2、logging可以指定如何输出以及输出的位置
严重错误 CRITICAL ------>logging.critical(msg) ---->发生严重错误导致程序无法继续运行时记录的信息
错误 ERROR ------>logging.error(msg) ---->由于一个很严重的我呢提导致某些功能不能正常运行时记录的信息
警告 WARNING ------>logging.warning(msg) ---->程序运行时出现了一些不期望的事情,但是程序依旧正常运行时记录的信息
信息 INFO ------>logging.info(msg) ---->记录关键节点的信息
最详细的日志 DEBUG ------>logging.debug(msg) ---->最详细的日志信息,用户问题诊断
import logging
logging.critical("这是严重错误level的日志")
logging.error("这是错误level的日志")
logging.warning("这是警告level的日志")
logging.info("这是信息level的日志")
logging.debug("这是调试信息level的日志")
输出结果:
CRITICAL:root:这是严重错误level的日志 ERROR:root:这是错误level的日志 WARNING:root:这是警告level的日志
结果分析:
default:输出警告level以上的log信息
root:默认的日志器的名字
logging.basicConfig(level=logging.DEBUG)
logging.critical("这是严重错误level的日志")
logging.error("这是错误level的日志")
logging.warning("这是警告level的日志")
logging.info("这是信息level的日志")
logging.debug("这是调试信息level的日志")
输出结果:
CRITICAL:root:这是严重错误level的日志 ERROR:root:这是错误level的日志 WARNING:root:这是警告level的日志 INFO:root:这是信息level的日志 DEBUG:root:这是调试信息level的日志设置日志格式:logging.basicConfig(format=‘%(levelname)s %(filename)s %(asctime)s %(message)s’)
语法:logging.basicConfig(format='%(levelname)s %(filename)s %(asctime)s %(message)s'),其中,format后面的日志格式时可以自己定制的,可以根据自己的需求增减日志格式,比如filename如果不需要就可以去掉,或者你想知道打印的日志关于哪一行,可以加上%(lineno)d。
logging.fomatter() 详细的日志格式可以参考这个函数。
logging.basicConfig(format='%(levelname)s %(filename)s %(asctime)s %(message)s')
logging.critical("这是严重错误level的日志")
logging.error("这是错误level的日志")
logging.warning("这是警告level的日志")
logging.info("这是信息level的日志")
logging.debug("这是调试信息level的日志")
输出结果:
CRITICAL log.py 2022-07-24 21:22:07,628 这是严重错误level的日志 ERROR log.py 2022-07-24 21:22:07,628 这是错误level的日志 WARNING log.py 2022-07-24 21:22:07,628 这是警告level的日志
结果分析:
打印的每行日志信息展示了:日志等级 文件名称 时间 日志信息



