首页 > 代码库 > Python之logging日志模块
Python之logging日志模块
logging
用于便捷既然日志切线程安全的模块
vim log_test.py
import logging logging.basicConfig(filename=‘log.log‘, format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘, datefmt=‘%Y-%m-%d %H:%M:%S %p‘, level=logging.DEBUG) logging.debug(‘debug‘) logging.info(‘info‘) logging.warning(‘warning‘) logging.error(‘error‘) logging.critical(‘critical‘) logging.log(10,‘log‘)
运行生成日志文件log.log
模拟一个生成错误日志的脚本
import logging logging.basicConfig(filename=‘log.log‘, format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘, datefmt=‘%Y-%m-%d %H:%M:%S %p‘, level=logging.DEBUG) while True: option = raw_input("input a digit:") if option.isdigit(): print "hehe",option logging.info(‘option correct‘) else: logging.error(‘Must input a digit!‘)
执行如果输入的是数字,写入info日志如果不是则写成error日志
PS:level=logging.DEBUG 是代表最低记录基本如果改成WARNING则不会记录info,debug信息就算设置了
上面是把日志写到文件里面
把日志显示到屏幕上面有输出到文件
import logging logger = logging.getLogger("simple_example") logger.setLevel(logging.DEBUG) #on screen ch = logging.StreamHandler() ch.setLevel(logging.WARNING) #into file fh = logging.FileHandler("log2.log") fh.setLevel(logging.DEBUG) formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s") ch.setFormatter(formatter) fh.setFormatter(formatter) logger.addHandler(ch) logger.addHandler(fh) logger.debug("debug msg...") logger.info("info msg...") logger.warn("warn msg...") logger.error("error msg...") logger.critical("critical msg...")
屏幕没有输出debug信息
Python之logging日志模块
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。