[Python之路] 日志操作
使用logging模块来写日志
日志直接输出到准备输出
import logging logging.basicConfig(level=logging.WARNING, format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s") # 直接使用logging来写日志,会同时写在文件和标准输出中 logging.debug("debug level") logging.info("info level") logging.warning("warning level") logging.error("error level") logging.critical("critical level")
日志输出到文件
import logging logging.basicConfig(level=logging.WARNING, filename='basic_log.txt', filemode='w', format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s") # 直接使用logging来写日志,会同时写在文件和标准输出中 logging.debug("debug level") logging.info("info level") logging.warning("warning level") logging.error("error level") logging.critical("critical level")
同时向不同地方写日志
import logging # 创建一个logger logger = logging.getLogger() logger.setLevel(logging.INFO) # 创建一个handler,用于写入日志文件 logfile = './log.txt' fh = logging.FileHandler(logfile, mode='a') # 写入日志文件的级别为DEBUG fh.setLevel(logging.DEBUG) # 创建另一个handler,用于将日志输出到标准输出 ch = logging.StreamHandler() # 标准输出的日志级别的WARNING ch.setLevel(logging.WARNING) # 定义日志格式 formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s") # 将格式应用到fh和ch两个handler fh.setFormatter(formatter) ch.setFormatter(formatter) # 将handler装载到logger中 logger.addHandler(fh) logger.addHandler(ch) # 使用logger来写日志,会同时写在文件和标准输出中 logger.debug("debug level") logger.info("info level") logger.warning("warning level") logger.error("error level") logger.critical("critical level")
保持学习,否则迟早要被淘汰*(^ 。 ^ )***