summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erikj@jki.re>2019-02-25 17:26:30 +0000
committerGitHub <noreply@github.com>2019-02-25 17:26:30 +0000
commit65f3fbfbf75ab4877c75a99d4a11588117a9a433 (patch)
treeb20ba34cbab5e4c54f79382368010813dd3f0967
parentMerge pull request #4718 from matrix-org/erikj/fix_backfill_state_shred (diff)
parentNewsfile (diff)
downloadsynapse-65f3fbfbf75ab4877c75a99d4a11588117a9a433.tar.xz
Merge pull request #4737 from matrix-org/erikj/failure_log_tb
Log tracebacks correctly
-rw-r--r--changelog.d/4669.misc2
-rw-r--r--changelog.d/4737.misc1
-rw-r--r--synapse/federation/federation_server.py5
-rw-r--r--synapse/handlers/pagination.py6
-rw-r--r--synapse/http/server.py8
5 files changed, 14 insertions, 8 deletions
diff --git a/changelog.d/4669.misc b/changelog.d/4669.misc
index 00a1a940ae..d5d0e27731 100644
--- a/changelog.d/4669.misc
+++ b/changelog.d/4669.misc
@@ -1 +1 @@
-Cleanup request exception logging
+Cleanup request exception logging.
diff --git a/changelog.d/4737.misc b/changelog.d/4737.misc
new file mode 100644
index 0000000000..d5d0e27731
--- /dev/null
+++ b/changelog.d/4737.misc
@@ -0,0 +1 @@
+Cleanup request exception logging.
diff --git a/synapse/federation/federation_server.py b/synapse/federation/federation_server.py
index e44342bc85..569eb277a9 100644
--- a/synapse/federation/federation_server.py
+++ b/synapse/federation/federation_server.py
@@ -240,8 +240,9 @@ class FederationServer(FederationBase):
                         f = failure.Failure()
                         pdu_results[event_id] = {"error": str(e)}
                         logger.error(
-                            "Failed to handle PDU %s: %s",
-                            event_id, f.getTraceback().rstrip(),
+                            "Failed to handle PDU %s",
+                            event_id,
+                            exc_info=(f.type, f.value, f.getTracebackObject()),
                         )
 
         yield concurrently_execute(
diff --git a/synapse/handlers/pagination.py b/synapse/handlers/pagination.py
index 084c1503da..e4fdae9266 100644
--- a/synapse/handlers/pagination.py
+++ b/synapse/handlers/pagination.py
@@ -136,7 +136,11 @@ class PaginationHandler(object):
             logger.info("[purge] complete")
             self._purges_by_id[purge_id].status = PurgeStatus.STATUS_COMPLETE
         except Exception:
-            logger.error("[purge] failed: %s", Failure().getTraceback().rstrip())
+            f = Failure()
+            logger.error(
+                "[purge] failed",
+                exc_info=(f.type, f.value, f.getTracebackObject()),
+            )
             self._purges_by_id[purge_id].status = PurgeStatus.STATUS_FAILED
         finally:
             self._purges_in_progress_by_room.discard(room_id)
diff --git a/synapse/http/server.py b/synapse/http/server.py
index 6c67a25a11..16fb7935da 100644
--- a/synapse/http/server.py
+++ b/synapse/http/server.py
@@ -169,18 +169,18 @@ def _return_html_error(f, request):
             )
         else:
             logger.error(
-                "Failed handle request %r: %s",
+                "Failed handle request %r",
                 request,
-                f.getTraceback().rstrip(),
+                exc_info=(f.type, f.value, f.getTracebackObject()),
             )
     else:
         code = http_client.INTERNAL_SERVER_ERROR
         msg = "Internal server error"
 
         logger.error(
-            "Failed handle request %r: %s",
+            "Failed handle request %r",
             request,
-            f.getTraceback().rstrip(),
+            exc_info=(f.type, f.value, f.getTracebackObject()),
         )
 
     body = HTML_ERROR_TEMPLATE.format(