diff --git a/src/metabase/middleware/log.clj b/src/metabase/middleware/log.clj
index b9cdb5691d3c9f378a70a34da0cac316e1f7b8b7..3957da0a386f11944466766d8637be9111894ca6 100644
--- a/src/metabase/middleware/log.clj
+++ b/src/metabase/middleware/log.clj
@@ -5,7 +5,9 @@
              [server :as server]
              [util :as u]]
             [metabase.middleware.util :as middleware.u]
-            [metabase.util.date :as du]
+            [metabase.util
+             [date :as du]
+             [i18n :refer [trs]]]
             [toucan.db :as db])
   (:import org.eclipse.jetty.util.thread.QueuedThreadPool))
 
@@ -63,6 +65,9 @@
       (let [start-time (System/nanoTime)]
         (db/with-call-counting [call-count]
           (let [respond (fn [response]
-                          (log-response request response (du/format-nanoseconds (- (System/nanoTime) start-time)) (call-count))
+                          (try
+                            (log-response request response (du/format-nanoseconds (- (System/nanoTime) start-time)) (call-count))
+                            (catch Throwable e
+                              (log/error e (trs "Error logging API request"))))
                           (respond response))]
             (handler request respond raise)))))))