From 0d71141b55c0d591363c94b8de3a8c9b4c5b663f Mon Sep 17 00:00:00 2001 From: Juho Teperi Date: Thu, 11 Mar 2021 21:57:15 +0200 Subject: [PATCH] Fix exception log handler, *out* is Writer, not PrintWriter *out* is usually OutputStreamWriter (set by clojure.lang.RT) *out* could also be java.io.StringWriter (with-out-str) --- .../src/reitit/http/interceptors/exception.clj | 6 +++--- .../src/reitit/ring/middleware/exception.clj | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/reitit-interceptors/src/reitit/http/interceptors/exception.clj b/modules/reitit-interceptors/src/reitit/http/interceptors/exception.clj index f0a47a1d..89d07927 100644 --- a/modules/reitit-interceptors/src/reitit/http/interceptors/exception.clj +++ b/modules/reitit-interceptors/src/reitit/http/interceptors/exception.clj @@ -4,7 +4,7 @@ [clojure.spec.alpha :as s] [clojure.string :as str]) (:import (java.time Instant) - (java.io PrintWriter))) + (java.io PrintWriter Writer))) (s/def ::handlers (s/map-of any? fn?)) (s/def ::spec (s/keys :opt-un [::handlers])) @@ -35,7 +35,7 @@ (wrap error-handler error request) (error-handler error request)))) -(defn print! [^PrintWriter writer & more] +(defn print! [^Writer writer & more] (.write writer (str (str/join " " more) "\n"))) ;; @@ -68,7 +68,7 @@ (defn wrap-log-to-console [handler ^Throwable e {:keys [uri request-method] :as req}] (print! *out* (Instant/now) request-method (pr-str uri) "=>" (.getMessage e)) - (.printStackTrace e ^PrintWriter *out*) + (.printStackTrace e (PrintWriter. ^Writer *out*)) (handler e req)) ;; diff --git a/modules/reitit-middleware/src/reitit/ring/middleware/exception.clj b/modules/reitit-middleware/src/reitit/ring/middleware/exception.clj index 92bbdec5..b14d0fca 100644 --- a/modules/reitit-middleware/src/reitit/ring/middleware/exception.clj +++ b/modules/reitit-middleware/src/reitit/ring/middleware/exception.clj @@ -4,7 +4,7 @@ [clojure.spec.alpha :as s] [clojure.string :as str]) (:import (java.time Instant) - (java.io PrintWriter))) + (java.io Writer PrintWriter))) (s/def ::handlers (s/map-of any? fn?)) (s/def ::spec (s/keys :opt-un [::handlers])) @@ -55,7 +55,7 @@ (catch Throwable e (on-exception handlers e request respond raise))))))) -(defn print! [^PrintWriter writer & more] +(defn print! [^Writer writer & more] (.write writer (str (str/join " " more) "\n"))) ;; @@ -88,7 +88,7 @@ (defn wrap-log-to-console [handler ^Throwable e {:keys [uri request-method] :as req}] (print! *out* (Instant/now) request-method (pr-str uri) "=>" (.getMessage e)) - (.printStackTrace e ^PrintWriter *out*) + (.printStackTrace e (PrintWriter. ^Writer *out*)) (handler e req)) ;;