(file_path, target, *args, **kwargs)
| 103 | import json |
| 104 | |
| 105 | def log_if_error(file_path, target, *args, **kwargs): |
| 106 | try: |
| 107 | target(*args, **kwargs) |
| 108 | except BaseException as e: |
| 109 | stack = traceback.extract_tb(e.__traceback__) |
| 110 | stack_without_wrapper = stack[1:] |
| 111 | trace_dict = dict( |
| 112 | stack=[item.name for item in stack_without_wrapper], |
| 113 | error_type=type(e).__name__, |
| 114 | error_message=str(e), |
| 115 | ) |
| 116 | json_data = json.dumps(trace_dict) |
| 117 | |
| 118 | with open(file_path, "a") as f: |
| 119 | f.write(json_data) |
| 120 | f.write("\n") |
| 121 | |
| 122 | |
| 123 | print("Example 6") |
no test coverage detected