你可以使用Python的logging模块来保存日志并仅显示INFO级别的日志。下面是一个示例代码:
import logging
# 创建logger对象
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# 创建文件处理器,用于保存日志到文件
file_handler = logging.FileHandler('log.txt')
file_handler.setLevel(logging.DEBUG)
# 创建控制台处理器,用于显示INFO级别的日志
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
# 创建日志格式器
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
# 设置处理器的格式器
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
# 将处理器添加到logger对象
logger.addHandler(file_handler)
logger.addHandler(console_handler)
# 示例日志
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
上述代码中,首先创建了一个logger对象,并设置其级别为DEBUG,这样可以记录所有级别的日志。然后创建了一个文件处理器和一个控制台处理器,分别用于保存日志到文件和显示相应级别的日志。接着创建了一个日志格式器,用于指定日志的输出格式。最后,将处理器添加到logger对象中。
示例中,logger.debug()用于记录DEBUG级别的日志,logger.info()用于记录INFO级别的日志,logger.warning()、logger.error()和logger.critical()用于记录不同级别的日志。只有INFO级别的日志会在控制台上显示,所有级别的日志都会保存到文件log.txt中。