@python logging日志的应用
import logging #创建一个日志器 logger=logging.getLogger(日志名称') #设置日志的输出最低级别 默认输出最低级别是warning logger.setLevel(logging.INFO) 创建一个处理器handler 控制台进行日志输出 console=logging.StreamHandler() #创建一个文件处理器 console1 = logging.FileHandler(filename=f'{time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime())}_log',encoding="utf‐8") #创建一个格式器(包含数据(时间 +文件名+错误信息+错误等级),并制定格式) console = logging.FileHandler(filename=f'{time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime())}_log',encoding="utf‐8") #添加处理器 logger.addHandler(console) logger.addHandler(console1) #设置处理器格式 console.setFormatter(format_handler) console1.setFormatter(format_handler) #打印日志 logger.error("这是一个错误信息") logger.warning("这是一个warning信息") logger.info("这是一个info信息") logger.critical("这是一个critical信息") logger.debug("这是一个debug信息")
import time def getlog(): #创建一个日志器 logger=logging.getLogger('logger') #设置日志的输出最低级别 默认输出最低级别是warning logger.setLevel(logging.INFO) #如果没有处理器才会添加处理器,这样避免重复调用处理器 if not logger.handlers: #创建一个处理器handler 文件进行日志输出 sh=logging.StreamHandler() fh=logging.FileHandler(filename=f'{time.strftime("%Y_%m_%d_%H_%M_%S",time.localtime())}_log',encoding="utf-8") #创建一个格式器(包含数据(时间 +文件名+错误信息+错误等级),并制定格式) formater=logging.Formatter(fmt='%(asctime)s %(levelname)s - %(name)s - %(filename)s (%(lineno)d): %(message)s' ,datefmt='%Y-%m-%d %H:%M:%S') logger.addHandler(fh) logger.addHandler(sh) sh.setFormatter(formater) fh.setFormatter(formater) return logger getlog().info("这是错误1") getlog().error("这是错误2")