python自动化测试框架中,设计logger类
时间: 2024-02-22 18:55:15 浏览: 54
python中logging模块
在Python自动化测试框架中,logger类是非常重要的一个组件,用于记录测试过程中的各种信息,方便开发人员进行问题排查和调试。下面是一个基本的logger类的设计:
```python
import logging
class Logger:
def __init__(self, name, level=logging.DEBUG):
self.logger = logging.getLogger(name)
self.logger.setLevel(level)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
console_handler.setFormatter(formatter)
file_handler = logging.FileHandler('test.log')
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
self.logger.addHandler(console_handler)
self.logger.addHandler(file_handler)
```
这个Logger类的构造函数接受两个参数,name表示logger的名称,level表示记录的日志级别。在构造函数中,我们首先创建了一个logger对象,设置了它的日志级别。然后创建了两个handler对象,一个用于输出到控制台,一个用于输出到文件。我们设置了控制台输出的日志级别为INFO,文件输出的日志级别为DEBUG。最后,我们为logger对象添加了这两个handler对象。
这个Logger类的使用非常简单,只需要在测试代码中实例化一个Logger对象,然后使用logger对象的方法来记录日志即可:
```python
logger = Logger('mylogger')
logger.logger.debug('debug message')
logger.logger.info('info message')
logger.logger.warning('warning message')
logger.logger.error('error message')
logger.logger.critical('critical message')
```
上面这段代码会将5条不同级别的日志记录到控制台和文件中。你可以根据需要自定义日志级别和格式,以及输出方式。
阅读全文