六、logging
logging一般分为五大模块:debug、info、warning、error、critical
这些级别本身没有代表信息重要性的区别,只是包含级别信息,可以约定日志的重要性logging.info('info') #10 logging.debug('debug') #20 logging.warning('warning') #30 logging.error('error') #40 logging.critical('critical') #50
标准输入流 sys.stdin input的底层
标准输出流 sys.stdout print的底层
标准错误流 sys.stderr 异常及logging默认打印方式的底层
logging配置:格式化输出
1)输出的方式
2)输出的格式
3)输出的位置logging为默认打印者,名字叫做root。基本配置
logging.StreamHandler() :输出到终端
logging.FileHandler('d.log') 输出到文件
logging.basicConfig() 在括号里面填入一些配置
如:
stream = sys.stderr, 往控制台打印采用具体的输出流 ,只能往一个地方,要么文件,要么控制台
format:打印的格式
datefmt:时间格式
level = logging.DEBUG 代表打印DEBUG级别及以上都能输出
""" 1. logger对象 logger = logging.getLogger("wangyong") 不写默认是root 2. filter 一种过滤规则 3. handler控制输出的位置句柄,如往文件1、文件2..控制台 logging.StreamHandler() :输出到终端 logging.FileHandler('d.log') 输出到文件 4.formater输出的格式 """ # 1. 创建logger对象 logger = logging.getLogger("wangyong") 不写默认是root # 2.创建句柄:输出的位置 stream_handler = logging.StreamHandler() a_file_handler = logging.FileHandler('a.log') b_file_handler = logging.FileHandler('b.log') # 3.打印者绑定句柄 logger.addHandler(stream_handler) logger.addHandler(a_file_handler) logger.addHandler(b_file_handler) # 4.设置格式 fmt1 = logging.Formatter('%(asctime)s - %(msg)s') fmt2 = logging.Formatter('%(asctime)s [%(name)s] - %(msg)s') # 5.为句柄绑定输出格式 stream_handler.setFormatter(fmt1) a_file_handler.setFormatter(fmt1) b_file_handler.setFormatter(fmt2)