首页 > 代码库 > logging模块
logging模块
logging为python模块提供状态、错误、信息输出的标准接口。
日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
logging.basicConfig函数各参数说明:
filename: 指定日志文件名
filemode: 和file函数意义相同,指定日志文件的打开模式,‘w‘或‘a‘
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: 打印日志信息
datefmt: 指定时间格式,同time.strftime()
level: 设置日志级别,默认为logging.WARNING
stream: 指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略
记录日志信息
#!/usr/bin/env python #coding: utf-8 import logging # 记录日志信息 logname = ‘log.log‘ logging.basicConfig( level = logging.INFO, #定义记录大于或等于日志级别 format=‘[%(levelname)s] [%(asctime)s] --- %(message)s‘, datefmt=‘%Y-%m-%d %H:%M:%S‘, filename=logname, filemode=‘a‘, ) logging.warning("log")
将日志输出到文件,同时打印匹配的级别到屏幕上
#!/usr/bin/env python #coding: utf-8 import logging # 记录日志信息 logname = ‘log.log‘ logging.basicConfig( level = logging.INFO, #定义记录大于或等于日志级别 format=‘[%(levelname)s] [%(asctime)s] --- %(message)s‘, datefmt=‘%Y-%m-%d %H:%M:%S‘, filename=logname, filemode=‘a‘, ) console = logging.StreamHandler() console.setLevel(logging.INFO) #定义需要显示大于或等于日志级别 formatter = logging.Formatter(‘[%(levelname)s] [%(asctime)s] ------ %(message)s‘) console.setFormatter(formatter) logging.getLogger(‘‘).addHandler(console) logging.warning(‘log info‘)
本文出自 “天天向上goto” 博客,请务必保留此出处http://ttxsgoto.blog.51cto.com/4943095/1856714
logging模块