FossilRepo
Add traceback file logging for ticket_detail 500 debug
Commit
aa77a00f32ca70c4f497d837f541fbb7161fac999ed2e065eca8297ad163bcd9
Parent
f842575b9f3ec4f…
1 file changed
+16
+16
| --- fossil/views.py | ||
| +++ fossil/views.py | ||
| @@ -769,10 +769,26 @@ | ||
| 769 | 769 | ) |
| 770 | 770 | |
| 771 | 771 | |
| 772 | 772 | def ticket_detail(request, slug, ticket_uuid): |
| 773 | 773 | import logging |
| 774 | + import traceback as tb_mod | |
| 775 | + | |
| 776 | + logger = logging.getLogger("fossil.views") | |
| 777 | + | |
| 778 | + try: | |
| 779 | + return _ticket_detail_inner(request, slug, ticket_uuid) | |
| 780 | + except Exception: | |
| 781 | + logger.exception("ticket_detail 500 for %s/%s", slug, ticket_uuid) | |
| 782 | + with open("/tmp/fossilrepo_ticket_detail_error.log", "a") as f: | |
| 783 | + f.write(f"\n--- {ticket_uuid} ---\n") | |
| 784 | + tb_mod.print_exc(file=f) | |
| 785 | + raise | |
| 786 | + | |
| 787 | + | |
| 788 | +def _ticket_detail_inner(request, slug, ticket_uuid): | |
| 789 | + import logging | |
| 774 | 790 | |
| 775 | 791 | logger = logging.getLogger("fossil.views") |
| 776 | 792 | |
| 777 | 793 | project, fossil_repo, reader = _get_repo_and_reader(slug, request) |
| 778 | 794 | |
| 779 | 795 |
| --- fossil/views.py | |
| +++ fossil/views.py | |
| @@ -769,10 +769,26 @@ | |
| 769 | ) |
| 770 | |
| 771 | |
| 772 | def ticket_detail(request, slug, ticket_uuid): |
| 773 | import logging |
| 774 | |
| 775 | logger = logging.getLogger("fossil.views") |
| 776 | |
| 777 | project, fossil_repo, reader = _get_repo_and_reader(slug, request) |
| 778 | |
| 779 |
| --- fossil/views.py | |
| +++ fossil/views.py | |
| @@ -769,10 +769,26 @@ | |
| 769 | ) |
| 770 | |
| 771 | |
| 772 | def ticket_detail(request, slug, ticket_uuid): |
| 773 | import logging |
| 774 | import traceback as tb_mod |
| 775 | |
| 776 | logger = logging.getLogger("fossil.views") |
| 777 | |
| 778 | try: |
| 779 | return _ticket_detail_inner(request, slug, ticket_uuid) |
| 780 | except Exception: |
| 781 | logger.exception("ticket_detail 500 for %s/%s", slug, ticket_uuid) |
| 782 | with open("/tmp/fossilrepo_ticket_detail_error.log", "a") as f: |
| 783 | f.write(f"\n--- {ticket_uuid} ---\n") |
| 784 | tb_mod.print_exc(file=f) |
| 785 | raise |
| 786 | |
| 787 | |
| 788 | def _ticket_detail_inner(request, slug, ticket_uuid): |
| 789 | import logging |
| 790 | |
| 791 | logger = logging.getLogger("fossil.views") |
| 792 | |
| 793 | project, fossil_repo, reader = _get_repo_and_reader(slug, request) |
| 794 | |
| 795 |