我们写代码的时候可能会在代码中添加很多调试信息,或者想在代码执行时生成一些日志信息,此时如果使用print等方式记录日志,未免太过凌乱,效率也过低,此时我们可以使用Python的日志来进行信息的记录。
日志可以用来记录应用程序的状态、错误和信息消息,也经常作为调试程序的工具。废话不多说,
python提供了一个标准的日志接口,就是logging模块。日志级别有DEBUG、INFO、WARNING、ERROR、CRITICAL五种。
我们在使用时,只需要import 日志包,然后进行相应配置即可:
import logging;
日志相关配置如下:
1、日志输出格式
2、日志文件名称
3、日志显示级别
log_format记录的变量如下
%(levelname):日志级别的名字格式
%(levelno)s:日志级别的数字表示
%(name)s:日志名字
%(funcName)s:函数名字
%(asctime):日志时间,可以使用datefmt去定义时间格式
%(pathname):脚本的绝对路径
%(filename):脚本的名字
%(module):模块的名字
%(thread):thread id
log_format='%(filename)s [%(asctime)s] [%(levelname)s] %(message)s'
log_filename="logging.txt"
logging.basicConfig(format=log_format, datefmt='%Y-%m-%d %H:%M:%S %p', level=logging.DEBUG, filename=log_filename, filemode='a')
记录日志的话使用如下的函数
logging.debug("debug调试信息")
logging.info("info提示信息")
logging.warning("warning警告信息")
logging.error("error错误信息")
logging.critical("critical严重错误信息")
以上记录的日志格式如下:
test_logging.py [2017-05-31 15:11:29 PM] [DEBUG] debug调试信息
test_logging.py [2017-05-31 15:11:29 PM] [INFO] info提示信息
test_logging.py [2017-05-31 15:11:29 PM] [WARNING] warning警告信息
test_logging.py [2017-05-31 15:11:29 PM] [ERROR] error错误信息
test_logging.py [2017-05-31 15:11:29 PM] [CRITICAL] critical严重错误信息