需求: 写一个log记录的类, 要求 path 是入参,生成的 log 写入 path 中
时间: 2023-11-27 17:53:58 浏览: 37
以下是 Python 代码实现:
```python
import logging
class LogWriter:
def __init__(self, path):
self.path = path
self.logger = logging.getLogger(__name__)
self.logger.setLevel(logging.DEBUG)
self.file_handler = logging.FileHandler(path)
self.file_handler.setLevel(logging.DEBUG)
self.file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
self.logger.addHandler(self.file_handler)
def write_log(self, message, level):
if level == 'debug':
self.logger.debug(message)
elif level == 'info':
self.logger.info(message)
elif level == 'warning':
self.logger.warning(message)
elif level == 'error':
self.logger.error(message)
elif level == 'critical':
self.logger.critical(message)
else:
raise ValueError('Invalid log level')
if __name__ == '__main__':
logger = LogWriter('example.log')
logger.write_log('This is a debug message', 'debug')
logger.write_log('This is an info message', 'info')
logger.write_log('This is a warning message', 'warning')
logger.write_log('This is an error message', 'error')
logger.write_log('This is a critical message', 'critical')
```
使用示例:
```python
logger = LogWriter('example.log')
logger.write_log('This is a debug message', 'debug')
logger.write_log('This is an info message', 'info')
logger.write_log('This is a warning message', 'warning')
logger.write_log('This is an error message', 'error')
logger.write_log('This is a critical message', 'critical')
```
这个 LogWriter 类使用 Python 的 logging 模块来记录日志信息,可以指定不同的日志级别(debug、info、warning、error、critical),并将日志信息写入指定的文件路径中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)