Skip to content

Commit 23f8029

Browse files
DerGuteMoritzptaoussanis
authored andcommitted
[fix] [#398] Appenders should use post-middleware log level (@DerGuteMoritz)
Before this commit: If middleware changed a log call's level (e.g. from `:info` to `:debug`), appenders would still filter based on the initial level (`:info`). After this commit: If middleware changes a log call's level (e.g. from `:info` to `:debug`), appenders now filter based on the updated level (`:debug`). This behavior is consistent with e.g. `:msg_` which was already exposed to the updated level.
1 parent 23036bc commit 23f8029

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/taoensso/timbre.cljc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@
491491
(get config :middleware))]
492492

493493
(when-let [data ?data] ; Not filtered by middleware
494-
(let [{:keys [vargs]} data
494+
(let [{:keys [level vargs]} data
495495
data
496496
(enc/assoc-nx data
497497
:msg_ (delay ((protected-fn "Timbre error when calling (msg-fn <data>)"

test/taoensso/timbre_tests.cljc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,9 @@
9292
(testing "Levels.appender/basic"
9393
[(is (map? (log-data "ns" :info {:min-level :info} {:min-level :info} [])) "call >= both global and appender")
9494
(is (nil? (log-data "ns" :info {:min-level :report} {:min-level :info} [])) "call < global")
95-
(is (nil? (log-data "ns" :info {:min-level :info} {:min-level :report} [])) "call < appender")])
95+
(is (nil? (log-data "ns" :info {:min-level :info} {:min-level :report} [])) "call < appender")
96+
(is (nil? (log-data "ns" :warn {:min-level :info :middleware [(fn [_] {:level :info})]} {:min-level :warn} []))
97+
"call >= both global and appender but demoted to < appender by middleware")])
9698

9799
(testing "Levels.appender/by-ns"
98100
[(is (map? (log-data "ns" :info {:min-level [["ns" :info]]} {:min-level :info} [])) "call >= both global and appender")

0 commit comments

Comments
 (0)