-
Notifications
You must be signed in to change notification settings - Fork 1
/
test.clj
29 lines (25 loc) · 1.24 KB
/
test.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(ns active.clojure.logger.test
(:require [active.clojure.logger.timbre :as timbre-config]
[active.clojure.logger.event :as event]
[active.clojure.logger.state-change :as state-change]
[active.clojure.logger.metric-emitter :as metric-emitter]
[taoensso.timbre :as timbre]))
(defn- log-config-test-fixture [config f]
(event/set-global-log-events-config! config)
(state-change/set-global-log-state-changes-config! (state-change/configure-state-changes-logging nil :events))
(metric-emitter/set-global-log-metrics-config! (metric-emitter/configure-metrics-logging :events))
;; Note: set-global-log-events-config! uses timbre/set-config!,
;; which in turn used alter-var-root, but apparently using
;; with-config, which uses `binding` has a better effect of logs
;; from spawned threads.
(timbre/with-config config (f)))
(defn log-ignore-test-fixture
"For use as clojure.test fixture."
[f]
(log-config-test-fixture (timbre-config/make-timbre-config {})
f))
(defn log-stdout-test-fixture
"For use as clojure.test fixture."
[f]
(log-config-test-fixture (timbre-config/make-timbre-config {:appenders {:stdout (timbre/println-appender)}})
f))