日志记录工具logging.basicConfig 用法
print 将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging
则可以由开发者决定将信息输出到什么地方,以及怎么输出;
import logging logging.basicConfig(level=logging.INFO, format='%(asctime)s %(filename)s %(levelname)s %(message)s', datefmt='%a %d %b %Y %H:%M:%S', filename='my.log', filemode='w') logging.info('This is a info.') logging.debug('This is a debug message.') logging.warning('This is a warning.')
参数信息:
其中format表示在filename日志文件中需要写入的信息,其中的参数可以包括:
format 输出格式详解 %(levelno)s: 打印日志级别的数值 %(levelname)s: 打印日志级别名称 %(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0] %(filename)s: 打印当前执行程序名 %(funcName)s: 打印日志的当前函数 %(lineno)d: 打印日志的当前行号 %(asctime)s: 打印日志的时间 %(thread)d: 打印线程ID %(threadName)s: 打印线程名称 %(process)d: 打印进程ID %(message)s: 打印日志信息
然而对于打印的日志文件是有级别的:
# -*- coding: utf-8 -*- import logging logging.debug('debug级别,一般用来打印一些调试信息,级别最低') logging.info('info级别,一般用来打印一些正常的操作信息') logging.warning('waring级别,一般用来打印警告信息') logging.error('error级别,一般用来打印一些错误信息') logging.critical('critical级别,一般用来打印一些致命的错误信息,等级最高')