Save last 60 screenshots in ./log/error/ Save logs to ./log/error/ /log.txt
(self)
| 82 | return None |
| 83 | |
| 84 | def save_error_log(self): |
| 85 | """ |
| 86 | Save last 60 screenshots in ./log/error/<timestamp> |
| 87 | Save logs to ./log/error/<timestamp>/log.txt |
| 88 | """ |
| 89 | from module.base.utils import save_image |
| 90 | from module.handler.sensitive_info import (handle_sensitive_image, |
| 91 | handle_sensitive_logs) |
| 92 | if self.config.script.error.save_error: |
| 93 | if not os.path.exists('./log/error'): |
| 94 | os.mkdir('./log/error') |
| 95 | folder = f'./log/error/{int(time.time() * 1000)}' |
| 96 | logger.warning(f'Saving error: {folder}') |
| 97 | os.mkdir(folder) |
| 98 | for data in self.device.screenshot_deque: |
| 99 | image_time = datetime.strftime(data['time'], '%Y-%m-%d_%H-%M-%S-%f') |
| 100 | image = handle_sensitive_image(data['image']) |
| 101 | save_image(image, f'{folder}/{image_time}.png') |
| 102 | with open(logger.log_file, 'r', encoding='utf-8') as f: |
| 103 | lines = f.readlines() |
| 104 | start = 0 |
| 105 | for index, line in enumerate(lines): |
| 106 | line = line.strip(' \r\t\n') |
| 107 | if re.match('^═{15,}$', line): |
| 108 | start = index |
| 109 | lines = lines[start - 2:] |
| 110 | lines = handle_sensitive_logs(lines) |
| 111 | with open(f'{folder}/log.txt', 'w', encoding='utf-8') as f: |
| 112 | f.writelines(lines) |
| 113 | |
| 114 | def init_server(self, port: int) -> int: |
| 115 | """ |
no test coverage detected