神秘解密:stressapptest源码Logger日志操作深度剖析
import logging
# 创建Logger
logger = logging.getLogger('stressapptest')
logger.setLevel(logging.DEBUG) # 设置日志级别为DEBUG
# 创建FileHandler,用于写入日志文件
log_file = 'stressapptest.log'
file_handler = logging.FileHandler(log_file)
file_handler.setLevel(logging.DEBUG)
# 创建StreamHandler,用于输出到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.ERROR) # 仅输出ERROR及以上级别的日志
# 定义Handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
# 给Logger添加Handler
logger.addHandler(file_handler)
logger.addHandler(console_handler)
# 测试日志输出
logger.debug('这是一条debug级别的信息')
logger.info('这是一条info级别的信息')
logger.warning('这是一条warning级别的信息')
logger.error('这是一条error级别的信息')
logger.critical('这是一条critical级别的信息')
# 移除Handler,防止重复输出
logger.removeHandler(file_handler)
logger.removeHandler(console_handler)
这段代码首先创建了一个名为stressapptest
的Logger
,并设置了日志级别为DEBUG
。然后,它创建了一个FileHandler
用于将日志写入文件,以及一个StreamHandler
用于在控制台输出。定义了日志的格式并将其添加到Logger
。最后,代码测试了不同级别的日志输出,并在完成后移除了Handler
,以防止日志的重复输出。
评论已关闭