Python的log日志功能及设置方法
引入:Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍
一、日志级别(从低到高):
DEBUG:详细的信息,通常只出现在诊断问题上
INFO:确认一切按预期运行
WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。
ERROR:更严重的问题,软件没能执行一些功能
CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行
注:这5个等级,也分别对应5种打日志的方法:debug、info、warning、error、critical。默认的是WARNING,当在WARNING或之上时才被跟踪。
二、日志输出:显示到控制台或保存到文件中,可以灵活选用
#这里为了简便,同时处理:输出控制台和保存到文件中 importlogging #第一步,创建一个logger logger=logging.getLogger() logger.setLevel(logging.INFO)#Log等级总开关 #第二步,创建一个handler,用于写入日志文件 logfile='./log.txt' fh=logging.FileHandler(logfile,mode='a')#open的打开模式这里可以进行参考 fh.setLevel(logging.DEBUG)#输出到file的log等级的开关 #第三步,再创建一个handler,用于输出到控制台 ch=logging.StreamHandler() ch.setLevel(logging.WARNING)#输出到console的log等级的开关 #第四步,定义handler的输出格式 formatter=logging.Formatter("%(asctime)s-%(filename)s[line:%(lineno)d]-%(levelname)s:%(message)s") fh.setFormatter(formatter) ch.setFormatter(formatter) #第五步,将logger添加到handler里面 logger.addHandler(fh) logger.addHandler(ch) #日志 logger.debug('这是loggerdebugmessage') logger.info('这是loggerinfomessage') logger.warning('这是loggerwarningmessage') logger.error('这是loggererrormessage') logger.critical('这是loggercriticalmessage')
三、日志格式说明
logging.basicConfig函数中,可以指定日志的输出格式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:打印日志信息
以上这篇Python的log日志功能及设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。